使用jQuery lazyload 實現圖片延遲加載

下載地址javascript

使用說明java

0. 準備工做jquery

下載jQuery和lazyload 插件(地址如上)git

1. HTMLgithub

引入jQuery庫和lazyload插件app

1    <div id="imagesContainer"></div>
2     <!--<img class="lazy" data-original="img/example.jpg" width="750" height="450">-->
3     <script src="http://apps.bdimg.com/libs/jquery/2.1.1/jquery.min.js" type="text/javascript"></script>
4     <script src="../../lib/jquery.lazyload.js"></script>

2. 編寫JavaScriptspa

 1  $(function () {
 2 
 3             var images = [
 4                 'https://unsplash.ict/750/450?image=55', // 錯誤的地址;不會返回圖片
 5                 'https://unsplash.it/750/450?image=155',
 6                 'https://unsplash.it/750/450?image=255',
 7                 'https://unsplash.it/750/450?image=355',
 8                 'https://unsplash.it/750/450?image=455',
 9                 'https://unsplash.it/750/450?image=555',
10                 'https://unsplash.it/750/450?image=655',
11                 'https://unsplash.it/750/450?image=5'
12             ],
13             i = images.length,
14             $container = $('#imagesContainer'),
15             placerhold = '../layzr.js/placerhold.gif', // 圖片未加載前顯示的圖片,若不設置,將默認顯示灰色 16             imgtemp;
17 
18             while (i--) {
19                 imgtemp = images.shift();
20                 $container.append('<img class="lazy" src="'+placerhold+'" data-original="' + imgtemp + '" width="750" height="450">')
21             }
22 
23             $('img.lazy').lazyload({
24                 effect: 'fadeIn'    // 自定義顯示效果(jQuery effect)
25                 , failure_limit: 10 
26                 , threshold: 200    // 當距離圖片還有200像素的時候,就開始加載圖片。
27                 , event: 'scroll'
28             });
29 
30             // 自定義觸發事件
31             // $("img.lazy").lazyload({ event: "click" });
32         });

3.  一些注意事項.net

 3.1 必須設置圖片的大小(行內樣式或外部CSS均可以),不然插件可能沒法達到理想的效果插件

 3.2 能夠設置倒計時,在指定的時間後加載圖片code

相關文章
相關標籤/搜索