2016-09-29 62 views
0

我發現了一個會延遲載入x條文章的腳本,但是如果文章總數每天都在變化,該怎麼辦?有沒有辦法讓項目計算一個集合的總金額(如果這是有道理的?)。因此,而不是999,或項變量中的特定數字。載入無限量的文章(懶惰載入)

問題是我永遠不會知道有多少文章被添加到網站。

這裏是我的jsfiddle https://jsfiddle.net/robertallenbaker/maezdhe2/4/

$(document).ready(function() { 
$('.sidebar-article-entry').hide(); 
$('.sidebar-article-entry:lt(5)').show(); 
var items = 999; 
var shown = 5; 
$('.more-articles-link').click(function() { 
    shown = $('.sidebar-article-entry:visible').size()+5; 
    if(shown< items) { 
     $('.sidebar-article-entry:lt('+shown+')').slideDown(); 
    } 
    else { 
     $('.sidebar-article-entry:lt('+items+')').show(); 
     $('.more-articles-link').hide(); 
    } 
}); 
}); 

回答

0

您可以使用slice()這一點。它的基礎上開始和結束的索引

然後只是比較shownlength元素集合的

var $entries = $('.sidebar-article-entry'), 
     shown = 5; 

    $entries.filter(':gt(4)').hide();  

    $('.more-articles-link').click(function() { 
    $entries.slice(shown, shown + 5).show(); 
    shown += 5; 
    if (shown >= $entries.length) { 
     $(this).hide() 
    } 
    }); 

DEMO

+0

真棒過濾元素!非常感謝! – robertallenbaker