首頁 > web前端 > js教程 > 主體

jquery實作圖片依序載入實例碼

零下一度
發布: 2017-07-20 14:25:06
原創
1614 人瀏覽過

css程式碼:

ul#portfolio{margin:0;padding:0;}
ul#portfolio li{float: left;margin:0 5px 0 0;width:250px;height: 250px;list-style: none;}
ul#portfolio li.loading{background: url(../images/spinner.gif) no-repeat center center;}
ul#portfolio li img{width:250px;height: 250px;display: block;}
登入後複製

js程式碼:

$(function(){var images=new Array();
    images[0]='./images/ads_one.jpg';
    images[1]='./images/ads_two.jpg';
    images[2]='./images/ads_three.jpg';    //获取了图像的数量var max=$(images).length;    
    //如果包含一张以上的图像,那么创建对应的UL元素家人到wrapper div中,并且调用LoadImage方法。 if(max>0){
    //create the UL elementvar ul=$('<ul id="portfolio"></ul>');//append to div#wrapper$(ul).appendTo($('#wrapper'));
    //load the first imageLoadImage(0,max);
     }     //在LoadImage方法中,循环遍历所有的图像,对每个图像创建li元素function LoadImage(index,max){      
     if(index<max){       //利用attr方法为li元素增加了css样式,即加上了loading的gif背景。   
     var list=$(&#39;<li id="portfolio_&#39;+index+&#39;"></li>').attr('class','loading');       
     //把li添加到ul元素中   $('ul#portfolio').append(list);       
     //获取当前的li元素   var curr=$("ul#portfolio li#portfolio_"+index);       
     //创建图像元素   var img=new Image();       
     //加载图像   $(img).load(function(){
        $(this).css('display','none');
        $(curr).removeClass('loading').append(this);
        $(this).fadeIn('slow',function(){
        //采用回调函数的方法,在当前元素成功执行fadeIn方法之后 再去调用下一个元素的LoadImage方法,这样就能实现多个图像的顺序加载了。LoadImage(index+1,max);
        });
       }).error(function(){
            $(curr).remove();
            LoadImage(index+1,max);
       }).attr('src',images[index]);
      }
    }
})
登入後複製

以上是jquery實作圖片依序載入實例碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板