我在新闻索引页面中有很多article
个div,其中每个div包含一个新闻预告片。
我想先显示10,然后在向下滚动到达底部时,我会显示另外10个等等。这是我的js。
$(function () {
shown = 0;
$('.artikel').hide();
$('.artikel').each(function () {
if (shown <= 10) {
shown += 1;
$(this).show();
}
});
$(window).scroll(function () {
if ($(window).scrollTop() + $(window).height() == $(document).height()) {
setTimeout(function () {
// problem here.
$('.artikel').each(function () {
if (shown <= 20) {
shown += 1;
$(this).show();
}
});
}, 1500);
}
});
});
我的逻辑中的问题是,一旦我滚动到底部,setTimeOut中的函数从头开始再次计算所有article
s。
我希望它显示从上一篇文章开始的下一个10条新闻。请问有人可以帮忙吗?
答案 0 :(得分:1)
您可以找到第一个隐藏的文章,然后显示以下几篇文章,这样您就不必计算到目前为止显示的数量:
var shownCount = 0;
$('.artikel:not(:visible)').each(function () {
if (shownCount <= 10) {
shownCount += 1;
$(this).show();
}