Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery-每个计数重置问题_Javascript_Jquery_Html - Fatal编程技术网

Javascript jQuery-每个计数重置问题

Javascript jQuery-每个计数重置问题,javascript,jquery,html,Javascript,Jquery,Html,我正在尝试使用jQuery-each函数获取当前页码。我就是这样做的 var CurrentPageView = 1; var check = true; var Bookmark = []; var CurPage = 1; $(function() { $(window).scroll(function() { if (check) { var PagesPosition = []; var CurrentWindowP

我正在尝试使用jQuery-each函数获取当前页码。我就是这样做的

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
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;  
$(“.Page”)。每个(函数(i){
var PagePos=$(this).offset().top;

if(PagePos/CurrentCenterWindowPos)它可能工作得很好,但它非常贪婪。每次窗口滚动1个像素,脚本都会构建一个
$(窗口)
对象,然后浏览整个dom以查找
”。Page“
”,然后构建一个
$(“.Page”)
对象数组。对于
$(“.CurrPageNumber”)也是如此
。您确实应该在
.scroll()
之前缓存所有这些变量并重用它们:
var$Pages=$(“.Page”)
然后
$Pages.forEach()
。巨大的性能改进。你是什么意思
为什么要构建整个网站?
@JeremyThille谢谢你的建议,我已经注意到一个小的性能改进。这些时候我认为“这是一个多么简单和明显的解决方案”。非常感谢你的帮助,它工作得非常好。
$(".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;