jQuery - 每个计数重置问题

时间:2017-10-19 11:48:48

标签: javascript jquery html

我试图使用jQuery获取每个函数的当前页码。这就是我这样做的方式

var CurrentPageView = 1;
var check = true;
var Bookmark = [];
var CurPage = 1;
$(function() {
    $(window).scroll(function() {
        if (check) {
            var PagesPosition = [];
            var CurrentWindowPosition = $(window).scrollTop();
            var CurrentCenterWindowPos = CurrentWindowPosition + $(window).height() / 2;



            $(".Page").each(function() {
                var PagePos = $(this).offset().top;
                if (PagePos / CurrentCenterWindowPos <= 1) {
                    CurPage = $(this).index() + 1;
                }
            });
            $(".CurrPageNumber").val(CurPage);
            CurrentPageView = CurPage;            
        }
    });
});

它运作良好。如果我上下滚动,他会改变并给我当前的页码。如果在具有类页面的那些之间存在类似跨度的问题,则会出现问题。发生这种情况时,计数器将重置为1 ..

我想知道是否有一种方法可以让每个div与每个div一起工作&#34; A4 Portrait&#34;即使在一个跨度内。

所以而不是实际的计数

1
2
1
2

这将是

1
2
3
4

1 个答案:

答案 0 :(得分:0)

尝试使用.Page列表中的索引而不是其父级中的索引:

$(".Page").each(function(i) {
    var PagePos = $(this).offset().top;
    if (PagePos / CurrentCenterWindowPos <= 1) {
        CurPage = i + 1; // Use the index in the array.
    }
});
$(".CurrPageNumber").val(CurPage);
CurrentPageView = CurPage;