婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > ajax異步加載圖片實例分析

ajax異步加載圖片實例分析

熱門標簽:硅語電話機器人公司 ai機器人電銷資源 超級大富翁地圖標注 騰訊地圖標注位置能用多久 地圖標注項目怎么樣 個人怎樣在百度地圖標注地名 云呼外撥網絡電話系統 機器人電銷騙局揭秘 越南河內地圖標注

本文實例講述了ajax異步加載圖片的方法。分享給大家供大家參考,具體如下:

圖片一般比較大,所以他們都是在基本網頁加載后才逐漸加載上的,整個加載的過程非常不雅觀,或者是從模糊逐漸變清晰,或者是從上往下拓展開(當然你也可以認為這些都是不錯的特效)。如果是通過定時更換img的src屬性來實現圖片的動態更換,由此帶來的閃爍更讓它難以接受,這可不是用alt屬性就能讓人愉快的。

聯系時下比較熱門的,號稱“無”刷新的AJAX技術,利用XMLHttpRequest對象發起異步請求,待圖像加載完畢再動態插入到“前臺”的HTML頁面上。應該可以滿足需求,不過XMLHttpRequest對象返回的對象只有兩個屬性responseXML和responseText,前者是XML對象,后者是返回的純文本內容,似乎沒有圖片所需要的二進制數據...退一步,即使能用responseText取回圖片的二進制數據,我們又如何能夠將它插入到前臺頁面呢?將img的src屬性換成請求的url?

說干就干,寫個圖像幻燈片的代碼來驗證自己的想法:

html>
    head>
        title>Image Slide/title>
        script>
function makeAsyncRequest(url, callback)
{
    var httpRequest;
    if (window.XMLHttpRequest) { // Mozilla, Safari, ...
        httpRequest = new XMLHttpRequest();
        if (httpRequest.overrideMimeType) {
            httpRequest.overrideMimeType('text/xml');
        }
    } else if (window.ActiveXObject) { // IE
        try {
            httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {
            }
        }
    }
    httpRequest.onreadystatechange = function () {
        if (httpRequest.readyState == 4
                 httpRequest.status == 200)
            callback(url);
    };
    httpRequest.open('GET', url, true);
    httpRequest.send('');
}
var i = 0;
var max_i = 10;
function displayImage()
{
    var url = "./" + i + ".jpg";
    makeAsyncRequest(url, function (url) {
        var div = document.getElementById("image");
        var img = div.getElementsByTagName("img");
        if (img.length == 0) {
            img = document.createElement("img");
            while (div.childNodes.length > 0)
                div.removeChild(div.childNodes[0]);
            div.appendChild(img);
        } else
            img = img.item(0);
        img.src = url;
        if (i == max_i)
            i = 0;
        else
            i ++;
        window.setTimeout("displayImage();", 1000);
    });
}
        /script>
    /head>
    body onload="displayImage();">
        div id="image">
        /div>
    /body>
/html>

以上代碼以1000毫秒為時間間隔循環顯示圖片0.jpg - 10.jpg,效果比較明顯,確實消除了閃爍。那么它的原理呢?每張圖片的顯示都分為兩個步驟:
用XMLHttpRequest對象從服務器獲取圖像,緩存圖像到本地的瀏覽器緩沖區。
從本地的瀏覽器緩沖區取得圖像進行顯示。
因為在第二步從取圖片到顯示的時間很短,所以用戶基本上覺察不出任何閃爍。可見,以上技術基于所請求的圖像是可緩存的的假設,如果圖像是不可緩存的,是不是以上代碼就不能正常工作了呢?

還是讓代碼來說話,把以上代碼做些更改:

function displayImage()
{
 var url = "./" + i + ".jpg";
 var url = "./image.php?filename=" + i + ".jpg";
    makeAsyncRequest(url, function (url) {
        var div = document.getElementById("image");
        var img = div.getElementsByTagName("img");

再寫一個php腳本用來傳送所請求的圖片:

?php
    header("Content-Type: image/jpeg");
    header("Cache-Control: no-cache");
    echo file_get_contents($_GET["filename"]);
?>

果真不出所料,又出現了閃爍...

看來還需要另想辦法,閉門造車是行不通了,求助google這位百事通先生吧!功夫不負有心人,終于還是被我找到了,欣喜歸欣喜,結果還是讓我大跌眼鏡,img竟然有onload的事件回調接口,只能慶幸自己的眼鏡是樹脂的了,"眼鏡掉了我不怕不怕啦,不怕不怕不怕啦..."

還等啥,當然是代碼伺候了:

html>
    head>
        title>Image Slide/title>
        script>
var i = 0;
var max_i = 10;
function displayImage()
{
    var img = document.createElement("img");
    img.onload = function () {
        var div = document.getElementById("image");
        while (div.childNodes.length > 0)
            div.removeChild(div.childNodes[0]);
        div.appendChild(img);
        if (i == max_i)
            i = 0;
        else
            i ++;
        window.setTimeout("displayImage();", 1000);
    }
    img.src = "./" + i + ".jpg";
}
        /script>
    /head>
    body onload="displayImage();">
        div id="image">
        /div>
    /body>
/html>

"She is an ungly girl!"沒啥好說的,不可緩存的圖像的情況:

        i ++;
        window.setTimeout("displayImage();", 1000);
    }
 img.src = "./" + i + ".jpg";
 img.src = "./image.php?filename=" + i + ".jpg";
 }
    /script>
/head>

讀到這里,你應該知道哪個是歪門邪道,哪個是人間正道了吧?

更多關于Ajax相關內容感興趣的讀者可查看本站專題:《jquery中Ajax用法總結》、《JavaScript中ajax操作技巧總結》及《PHP+ajax技巧與應用小結》。

希望本文所述對大家ajax程序設計有所幫助。

您可能感興趣的文章:
  • 使用加載圖片解決在Ajax數據加載中頁面出現短暫空白的問題(推薦)
  • JQuery實現Ajax加載圖片的方法
  • jQuery 瀑布流 絕對定位布局(二)(延遲AJAX加載圖片)
  • jQuery 瀑布流 浮動布局(一)(延遲AJAX加載圖片)
  • 代碼實例ajax實現點擊加載更多數據圖片

標簽:舟山 鄭州 洛陽 海南 遼源 邢臺 內蒙古 林芝

巨人網絡通訊聲明:本文標題《ajax異步加載圖片實例分析》,本文關鍵詞  ajax,異步,加載,圖片,實例分析,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《ajax異步加載圖片實例分析》相關的同類信息!
  • 本頁收集關于ajax異步加載圖片實例分析的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    日韩一区二区三区四区| 99综合影院在线| 一区二区免费看| 午夜精品久久久久久久久久久 | 在线亚洲高清视频| 欧美日韩在线三区| 久久一区二区三区国产精品| 中文字幕av不卡| 亚洲成人福利片| 国内精品嫩模私拍在线| 91老师国产黑色丝袜在线| 91麻豆精品国产| 国产精品成人在线观看| 奇米色777欧美一区二区| 国产69精品久久99不卡| 欧美日韩大陆在线| 国产精品区一区二区三区| 日本不卡在线视频| 99国产精品一区| 日韩免费高清视频| 亚洲欧美日韩国产中文在线| 日韩福利视频导航| 成人美女在线视频| 欧美一区日本一区韩国一区| 国产精品乱人伦一区二区| 美女看a上一区| 欧美日韩在线直播| 亚洲人快播电影网| 国产风韵犹存在线视精品| 欧美日韩不卡一区二区| 亚洲视频一区二区免费在线观看 | 日本特黄久久久高潮| 99久久久国产精品免费蜜臀| 久久久亚洲精品一区二区三区| 一区二区三区四区av| 国产成人av一区二区三区在线观看| 欧美日韩一区二区三区四区五区| 中文字幕一区二区三区不卡| 久久国产剧场电影| 欧美久久一二三四区| 亚洲欧美国产三级| 成人国产亚洲欧美成人综合网| 欧美不卡激情三级在线观看| 视频一区二区国产| 欧美日韩免费在线视频| 亚洲码国产岛国毛片在线| 97se亚洲国产综合自在线| 国产欧美一区视频| 国产一区二区中文字幕| 欧美mv日韩mv国产网站app| 日本欧美一区二区| 欧美图片一区二区三区| 亚洲综合免费观看高清完整版在线 | 91精品国产欧美一区二区成人| 亚洲老妇xxxxxx| 色屁屁一区二区| 一区二区三区中文在线| 色婷婷激情久久| 亚洲精品福利视频网站| 色综合久久88色综合天天| 一区二区三区精品在线| 欧美午夜宅男影院| 天天射综合影视| 日韩久久久精品| 国产伦精品一区二区三区在线观看| 亚洲精品一区二区三区四区高清 | 国产成人鲁色资源国产91色综| 欧美精品三级日韩久久| 亚洲成av人在线观看| 欧美精品丝袜久久久中文字幕| 视频一区在线播放| 精品理论电影在线观看| 国产成人三级在线观看| 国产精品婷婷午夜在线观看| 91视频精品在这里| 午夜精品福利一区二区蜜股av| 欧美一区午夜视频在线观看| 国产精品一区2区| 亚洲欧美自拍偷拍色图| 欧美三级中文字幕| 久久99久久99小草精品免视看| 久久精品男人的天堂| 99精品国产一区二区三区不卡| 亚洲一区二区三区影院| 欧美一二三区在线| 国产999精品久久久久久| 一区二区三区中文在线| 日韩欧美另类在线| 豆国产96在线|亚洲| 亚洲一本大道在线| 国产亚洲精久久久久久| 欧美亚洲国产一卡| 乱一区二区av| 中文字幕一区二| 欧美成人a∨高清免费观看| 成人免费视频app| 日韩精品高清不卡| 国产精品久久久久久妇女6080| 欧美在线观看视频一区二区 | 久久99最新地址| 亚洲欧美日韩在线| 精品国产免费人成电影在线观看四季 | 国产91高潮流白浆在线麻豆| 亚洲综合色成人| 国产三级欧美三级日产三级99| 在线精品视频一区二区| 国产乱子伦一区二区三区国色天香| 亚洲欧美日韩小说| 久久久一区二区三区捆绑**| 欧美日韩在线播放一区| 成人天堂资源www在线| 美国欧美日韩国产在线播放| 亚洲欧美日韩国产综合| 日本一区二区视频在线观看| 91精品国产福利在线观看 | 国产精品久久免费看| 欧美一区午夜精品| 欧美午夜在线一二页| 欧美三级电影一区| 成人丝袜18视频在线观看| 激情综合网激情| 日韩精品亚洲专区| 亚洲1区2区3区视频| 中文字幕在线一区| 国产免费成人在线视频| 精品国偷自产国产一区| 欧美日韩国产成人在线91| 色综合视频在线观看| 99久久国产综合精品色伊| 国产不卡视频在线观看| 国产一区二区三区久久久| 美国三级日本三级久久99| 日韩成人免费电影| 调教+趴+乳夹+国产+精品| 亚洲一区二区av在线| 日韩伦理免费电影| 最新不卡av在线| 综合色天天鬼久久鬼色| 中文字幕一区二区不卡| 亚洲欧美激情小说另类| 亚洲人成伊人成综合网小说| 亚洲私人影院在线观看| 亚洲精品久久久久久国产精华液| 亚洲女爱视频在线| 亚洲一区二区视频在线观看| av中文字幕不卡| av亚洲精华国产精华| 成人av动漫网站| 97久久人人超碰| 在线精品视频免费播放| 欧美日韩视频在线观看一区二区三区 | 欧美精三区欧美精三区| 欧美精品粉嫩高潮一区二区| 欧美久久一二三四区| 欧美一区二区观看视频| 6080国产精品一区二区| 日韩免费观看高清完整版| 26uuu精品一区二区在线观看| 国产欧美va欧美不卡在线| 国产精品女上位| 一区二区三区高清| 日本成人在线一区| 国产乱人伦精品一区二区在线观看 | 色国产精品一区在线观看| 91蝌蚪porny九色| 欧美在线观看18| 日韩欧美国产小视频| 国产亚洲精品中文字幕| 亚洲男人都懂的| 日本成人在线看| 成人国产精品免费观看动漫| 欧美色图一区二区三区| 日韩三级视频在线观看| 国产女主播视频一区二区| 亚洲激情五月婷婷| 久久9热精品视频| www.欧美日韩| 欧美一区二区三区在线电影| 日本一区二区三级电影在线观看| 一区二区视频在线看| 免费的成人av| 色综合亚洲欧洲| 欧美videossexotv100| 亚洲欧洲日产国码二区| 蜜桃av一区二区三区电影| voyeur盗摄精品| 日韩三级高清在线| 一区二区三区在线视频免费观看| 老司机精品视频线观看86| 成人a免费在线看| 欧美成人性战久久| 亚洲一区二区三区在线播放 | 中文字幕欧美日韩一区| 天天色 色综合| 不卡的av电影| 久久一日本道色综合| 五月激情综合婷婷| 91视频一区二区三区| 久久蜜桃香蕉精品一区二区三区| 亚洲综合一区二区三区|