1. 程式人生 > >使用jquery.lazyload.js圖片預載入(懶載入)遇到的問題,圖片載入不出來

使用jquery.lazyload.js圖片預載入(懶載入)遇到的問題,圖片載入不出來

1、在使用jquery.lazyload.js時,如果是資料直接在DOM節點直接渲染,並且圖片排列規則,使用方法:

給img標籤新增的屬性有:

<img class="lazy" src="__TEMP__/{$style}/public/images/load_banner.jpg" data-original="{:__IMG($v.adv_image)}" alt="">

src可以修改圖片還沒載入的時候展示的圖片

例如:

html:

{foreach name="$zhuanqu[2][0]['goods_detail']" item="v"}
									{if $key<4}
									<li>
										<a href="{:__URL('APP_MAIN/goods/goodsdetail?id='.$v.goods_id)}">
											<div class="goods-img">
												<img class="lazy" src="__TEMP__/{$style}/public/images/load_good.jpg" data-original="{:__IMG($v.pic_cover_small)}" alt="">
											</div>
											<p class="goods-name">{$v.goods_name}</p>
											<p class="goods-price">{$v.price}</p>
										</a>
									</li>
									{/if}
									{/foreach}

script:

//圖片懶載入
$.fn.myLazyLoad = function() {
        this.lazyload();
    };
    $("img.lazy").myLazyLoad();

2、如果是通過ajax動態獲取的,使用方法:

var getData=function(s,scope){
        $.ajax({
            url: '<{$base_url}>/index.php/openapi/recommend/get_p?s=' + s,
            type: 'get',
            data: {},
            dataType: 'json',
            success: function (res) {
                var data = res.data;
                var html = '';
                if (res.data == '') {
                    //不輸出內容
                } else {
                    for (var i = 0; i < data.length; i++) {
                        var item = data[i];
                        html += '<div class="dty"><a class="item_link" href="/m/item-' + item.product_id + '.html"><div class="set_i"><img class="lazy" src="/themes/mobile/shanyaohui/images/loading_img.gif" data-original="' + item.image_default_id + '"></div>';
                        html += '<p class="tit">' + item.name + '</p>';
                        html += '<span>¥<del class="fr">' + Number(item.mktprice).toFixed(2) + '</del></span></br>';
                        html += '<p class="am-fl fl">¥' + Number(item.price).toFixed(2) + '</p>';
                        html += '<p class="am-fr fd">已售' + item.buy_num + '筆</p>';
                        html += '</a></div>';
                    }
                    scope.append(html);
                    $("img").myLazyLoad();//資料渲染後初始化                }
            }, error: function () {
                console.log('ajax error')
            }
        });
    }
    // 圖片懶載入
    $.fn.myLazyLoad = function() {
        this.lazyload();
    };
    $("img.lazy").myLazyLoad();
} }, error: function () { console.log('ajax error') } }); } // 圖片懶載入 $.fn.myLazyLoad = function() { this.lazyload(); }; $("img.lazy").myLazyLoad();

3、如果圖片排列混亂,導致圖片加載出錯或者載入不出來,可設定引數:

$("img.lazy").lazyload({
  placeholder : "img/grey.gif", //用圖片提前佔位
    // placeholder,值為某一圖片路徑.此圖片用來佔據將要載入的圖片的位置,待圖片載入時,佔位圖則會隱藏
  effect: "fadeIn", // 載入使用何種效果
    // effect(特效),值有show(直接顯示),fadeIn(淡入),slideDown(下拉)等,常用fadeIn
  threshold: 200, // 提前開始載入
    // threshold,值為數字,代表頁面高度.如設定為200,表示滾動條在離目標位置還有200的高度時就開始載入圖片,可以做到不讓使用者察覺
  event: 'click',  // 事件觸發時才載入
    // event,值有click(點選),mouseover(滑鼠劃過),sporty(運動的),foobar(…).可以實現滑鼠莫過或點選圖片才開始載入,後兩個值未測試…
  container: $("#container"),  // 對某容器中的圖片實現效果
    // container,值為某容器.lazyload預設在拉動瀏覽器滾動條時生效,這個引數可以讓你在拉動某DIV的滾動條時依次載入其中的圖片
  failurelimit : 10 // 圖片排序混亂時
     // failurelimit,值為數字.lazyload預設在找到第一張不在可見區域裡的圖片時則不再繼續載入,但當HTML容器混亂的時候可能出現可見區域內圖片並沒加載出來的情況,failurelimit意在載入N張可見區域外的圖片,以避免出現這個問題.
});

相關推薦

android圖片縮放指定大小 drawable獲取圖片後怎麼設定圖片大小

http://gqdy365.iteye.com/blog/1125037 android圖片縮放(指定大小) private Drawable zoomDrawable(Drawable drawable, int w, int h) { in

在PS裡要怎麼樣才能把一個圖片的數字改成另一個數字還要看出來

你可以這樣做,首先在工具欄中選擇圖章工具,然後按下ALT鍵不放,用滑鼠在數字周圍的地方仿製(即:可以用圖章工具選取一個區域),然後鬆開ALT鍵,接著就在要修改的數字上點選,看看是不是數字就被周圍的色彩和圖案遮擋了,點選知道完全覆蓋數字。接著點工具欄的“T”即文字輸入工具,

使用jquery.lazyload.js圖片載入載入遇到的問題圖片載入出來

1、在使用jquery.lazyload.js時,如果是資料直接在DOM節點直接渲染,並且圖片排列規則,使用方法: 給img標籤新增的屬性有: <img class="lazy" src="__TEMP__/{$style}/public/images/load

jQuery載入外掛 – jquery.lazyload.js簡單呼叫

 Lazy Load 是一個用 JavaScript 編寫的 jQuery 外掛. 它可以延遲載入長頁面中的圖片. 在瀏覽器可視區域外的圖片不會被載入, 直到使用者將頁面滾動到它們所在的位置. 這與圖片預載入的處理方式正好是相反的.在包含很多大圖片長頁面中延遲載入圖片可以加快

jQuery延遲載入(載入)外掛 – jquery.lazyload.js

Lazy Load 是一個用 JavaScript 編寫的 jQuery 外掛. 它可以延遲載入長頁面中的圖片. 在瀏覽器可視區域外的圖片不會被載入, 直到使用者將頁面滾動到它們所在的位置. 這與圖片預載入的處理方式正好是相反的.在包含很多大圖片長頁面中延遲載入圖片可以加快頁

圖片載入圖片載入緩載的區別與實現

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>原生Js圖片延遲載入</title> <style type="text/

【JavaScript】使用純JS實現多張圖片載入附原始碼

一、效果圖如下   上面的效果圖,效果需求如下         1、還沒載入圖片的時候,預設顯示載入圖片背景圖         2、剛開始進入頁面,自動載入第一螢幕的圖片       &

jQuery延遲加載(加載)插件 – jquery.lazyload.js

jquery 插件 lazyload 連續 這樣的 threshold 加載圖片 特定 很多 工作 註:本內容源文檔是從https://www.w3cways.com/1765.html該鏈接下拷貝的 Lazy Load 是一個用 JavaScript 編寫的 jQuery

MUI之圖片zoom.js和previewimage.js

line fill dex size posit fixed slide col auto 1 <style type="text/css"> 2 .mui-preview-image.mui-fullscreen { 3

jquery.lazyload 加載失效圖片無法加載

.com fad png 失效 bsp move class 每次 渲染 ajax請求的數據,使用js模板進行渲染,出現了無法實現懶加載的情況解決辦法是在js模板引擎之後使用 而且遇到一個問題,首頁會有多個接口請求,所以要在每次ajax請求接口,渲染模板後都

jQuery實現瀑布流及滾動載入相容IE8

上篇 js原生瀑布流並實現滾動懶載入(相容IE8) 講解了瀑布流的原理及滾動懶載入的原理,並用原生js實現了效果,那麼原生js必定有些繁瑣和麻煩,這一篇我們就換成jQuery,程式碼會簡潔很多,思路和原理我就不贅述了,如果想看的話,移步 js原生瀑布流並實

載入、熱載入開發者模式、熱部署、載入、熱更新

熱部署:直接重新載入整個應用(生產環境),清空記憶體重新打包,重新解壓war包 熱載入:在執行時重新載入class(開發環境),基於位元組碼的更改,不釋放記憶體開發可用,上線不可用,熱載入不重啟tomcat,不重新打包 懶載入:延遲載入, 實現方法:先在頁面中

springmvc圖片上傳兼容ie8以上實時

處理 spa aps news time htm tip 技術分享 ans html代碼: <form id="uploadform" method="post" enctype="multipart/form-data"> <

簡單的做一個圖片上傳web前端

chrom 預覽 web前端 console fine 分享圖片 fire title right 轉載:點擊查看原文 在做web項目很多的時候圖片都是避免不了的,所以操作圖片就成了一個相對比較棘手的問題,其實也不是說很麻煩,只是說上傳然後直接預覽的過

三十五、載入原生封裝

var Lazy = { $:function(arg,context){ var tagAll,n,eles=[],i,sub = arg.substring(1); context = context|| document;

JS將html生成為圖片並下載適用於大多數瀏覽器包含手機瀏覽器等需配合後臺處理(筆記)

(1)html程式碼 <div id="id="content""> //此處放置需要生成圖片的程式碼 <div class="order_payCon"> <div class="submit_pay_success"

Mybatis中《insert》返回map、list及巢狀、association和collection分佈查詢及延遲載入載入(按需載入)

本文目錄類容目錄結構: 一、select返回值 1、返回值記錄封裝為List 2、返回值記錄封裝為map 二、select_resultMap 1、自定義結果對映規則 2、關聯查詢_級聯屬性封裝結果,即<result column="did" pro

webpack v3 結合 react-router v4 做 dynamic import — 按需載入載入

為什麼要做dynamic import? dynamic import不知道為什麼有很多叫法,什麼按需載入,懶載入,Code Splitting,程式碼分頁等。總之,就是在SPA,把JS程式碼分成N個頁面份數的檔案,不在使用者剛進來就全部引入,而是等使用者跳轉路由的時候,再載入對應的JS檔案。這樣做的好處就

JS函式解析小記

一,預解析:尋找var  function  形參     a=undefined    fn = function fn(){   alert();  }  二,逐行解讀程式碼:    

MyBatis(八) resultMap 之 延遲載入 載入

繼承第七章的例子: 下面我們講延遲載入 也叫 懶載入。 延遲載入:resultMap 的資料以 樹狀結構 為主,當我們用到分支資料的時候再查下,反之則,不查詢,這樣可以節省資料庫資源。 那麼我在上一個demo的基礎做一點小改進: 1、首先在 myba