2013-06-21 58 views
0

我使用這個jQuery解決方案來過濾我的內容(與jpages和lazyload沿) - http://luis-almeida.github.io/filtrify/jpages.htmljQuery filtrify與分頁,是否有可能不加載隱藏的元素?

它的工作原理相當不錯,但是當有超過50個元素,我注意到一些放緩。 頁面加載過濾器本身工作的很快,但頁面加載有點過長。

我想知道是否有辦法阻止加載元素(在這種情況下是div),而不僅僅是不可見的圖像?

這可以通過jQuery來實現嗎?

終極密碼我使用

$(function() { 

var container = $("#itemListLeading"), 
    pagination = $("#pagination"); 

function setLazyLoad() { 
    container.find("img").lazyload({ 
     event : "turnPage", 
     effect : "fadeIn" 
    }); 
}; 

function setPagination() { 
    pagination.jPages({ 
     containerID : "itemListLeading", 
     perPage : 9, 
     direction : "auto", 
     animation : "fadeInUp", 
     previous : "a.jprev", 
     next  : "a.jnext", 
     callback : function(pages, items){ 
      items.showing.find("img").trigger("turnPage"); 
      items.oncoming.find("img").trigger("turnPage"); 
     } 
    }); 
}; 

function destroyPagination() { 
    pagination.jPages("destroy"); 
}; 

setLazyLoad(); 
setPagination();  

var ft = $.filtrify("itemListLeading", "placeHolder", { 
    close: true, // Close windows after tag select 
    block : "data-original", 
    callback: function (query, match, mismatch) { 

     if (mismatch.length) $("div#reset").show(); // Show Reset 
     else $("div#reset").hide(); 

     $('.ft-label').parent() // Hide unrelated tags 
      .find('li[data-count=0]').hide().end() 
      .find(':not(li[data-count=0])').show().end(); 

     $(".ft-selected li").css("display","inline-block"); // small tag display fix 

     destroyPagination(); 
     setPagination(); 

    } 
}); 

$("div#reset span").click(function() { // Make reset button clickable 
    ft.reset(); 
}); 
}); 

回答

0

試一下,不知道它可以適用於您的情況:

$(function() { 
    $('div:hidden').remove(); 

    var container = $("#itemListLeading"), 
    ... 
}); 
+0

不幸的是這並沒有工作:( 還有一個錯誤...之前最後一行的「});」 – Uldis

+0

那麼'...'意味着把你的代碼放在這裏...所以我告訴你只需添加到你的函數'$('div:hidden')。remove();'line ... –

+0

對不起,我沒有得到:) 它看起來像這段代碼已經幫助,頁面似乎加載更快。謝謝! – Uldis

0

這是最後的代碼,但不幸的是它打破了過濾器的功能。我之前沒有清除我的緩存:(

<script type="text/javascript"> 
$(function() { 
$('div:hidden').remove(); 

var container = $("#itemListLeading"), 
    pagination = $("#pagination"); 

function setLazyLoad() { 
    container.find("img").lazyload({ 
     event : "turnPage", 
     effect : "fadeIn" 
    }); 
}; 

function setPagination() { 
    pagination.jPages({ 
     containerID : "itemListLeading", 
     perPage : 9, 
     direction : "auto", 
     animation : "fadeInUp", 
     previous : "a.jprev", 
     next  : "a.jnext", 
     callback : function(pages, items){ 
      items.showing.find("img").trigger("turnPage"); 
      items.oncoming.find("img").trigger("turnPage"); 
     } 
    }); 
}; 

function destroyPagination() { 
    pagination.jPages("destroy"); 
}; 

setLazyLoad(); 
setPagination();  

var ft = $.filtrify("itemListLeading", "placeHolder", { 
    close: true, // Close windows after tag select 
    block : "data-original", 
    callback: function (query, match, mismatch) { 

     if (mismatch.length) $("div#reset").show(); // Show Reset 
     else $("div#reset").hide(); 

     $('.ft-label').parent() // Hide unrelated tags 
      .find('li[data-count=0]').hide().end() 
      .find(':not(li[data-count=0])').show().end(); 

     $(".ft-selected li").css("display","inline-block"); // small tag display fix 

     destroyPagination(); 
     setPagination(); 

    } 
}); 

$("div#reset span").click(function() { // Make reset button clickable 
    ft.reset(); 
}); 

});

相關問題