2016-09-29 37 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