我正在尝试使用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;
        }
    });
});

而且效果很好。如果我上下滚动,他会更改并给我当前页码。如果在类(class)页面的人之间出现跨度之类的问题,则会发生问题。发生这种情况时,计数器将重置为1.。

javascript - jQuery-每个计数重置问题-LMLPHP

我想知道是否有一种方法可以使“A4 Portrait”类的每个div保持计数,即使在一个范围内也是如此。

因此,而不是实际数量
1
2
1
2

这将是
1
2
3
4

最佳答案

尝试使用.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;

07-28 02:35
查看更多