當(dāng)滾動(dòng)條到圖片才顯示圖片

字號(hào):


    當(dāng)滾動(dòng)條條滾動(dòng)到圖片位置再顯示圖片,像淘寶,京東等網(wǎng)站都采用了這樣的js技術(shù),這樣可以是帶寬使用減少,也可以增加用戶體驗(yàn)。
    下面將滾動(dòng)條到圖片才能顯示圖片的構(gòu)思說一下:
    即:當(dāng)滾動(dòng)條滾動(dòng)時(shí)出發(fā)檢查事件,檢查每一個(gè)圖片位置,當(dāng)圖片距離頁面頂部位置小于滾動(dòng)條加上瀏覽器高度時(shí),則圖片進(jìn)行顯示輸出
    jquery代碼如下
    首先將圖片,設(shè)置一個(gè)value屬性,讓其為真實(shí)圖片位置值,設(shè)置另一個(gè)src為一個(gè)小圖片為等待圖片。當(dāng)圖片達(dá)到圖片位置時(shí),將value值賦給src即可。
    $(function(){
     $(window).scroll( function() { 
      $(img).each(function(i){
        if($(this).offset().top<($(window).height()+document.documentelement.scrolltop-200)){
        $(this).attr(src,$(this).attr(value));
       }
     });
     });
    });
    解釋一下上面的代碼,本代碼采用jquery弄的, offset().top是獲取圖片距離頂部高度當(dāng)小于滾動(dòng)條滾動(dòng)距離document.documentelement.scrolltop加上瀏覽器高度$(window).height()時(shí)則進(jìn)行顯示,在這里-200是為了看效果,當(dāng)圖片出來200像素的 時(shí)候才進(jìn)行圖片顯示
    網(wǎng)上采用了jquery的jquery.lazyload.js公開組件,代碼如下:
    $(function(){
      $(img).lazyload({
          placeholder : 默認(rèn)等待圖片,
          effect      : fadein
          });
    });
    采用的jquery的組件:下載lazyload.js
    <script language=javascript src=jquery.lazyload.js></script>
    這就是當(dāng)滾動(dòng)條到圖片處才顯示圖片的代碼。