>웹 프론트엔드 >JS 튜토리얼 >jquery는 이미지 로딩 예제 코드를 순서대로 구현합니다.

jquery는 이미지 로딩 예제 코드를 순서대로 구현합니다.

零下一度
零下一度원래의
2017-07-20 14:25:061651검색

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.