Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.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 scrollTop()每次滚动时求和_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript Jquery scrollTop()每次滚动时求和

Javascript Jquery scrollTop()每次滚动时求和,javascript,jquery,html,css,Javascript,Jquery,Html,Css,当scrollTop()

scrollTop()<442
事件未启动时,我尝试添加一个类。我尝试
console.log()
scrollTop()值,控制台打印每个滚动运动的总和,例如,我向下滚动200px,然后向上滚动100px和
console.log($('body').scrollTop()
输出300

代码如下:

$('body').scroll(function(){
    console.log($('body').scrollTop());
    if($('body').scrollTop()<442){
        $('nav').addClass('navz');

    }else{
        $('nav').removeClass('navz');

    }
});
$('body')。滚动(函数(){
log($('body').scrollTop());

如果($('body').scrollTop(),问题是您错误地将
'body'
用作scroll事件侦听器和scrollTop()函数的选择器

您应该使用
$(window.scroll()
$(document.scrollTop()

下面是一个工作示例:

//该窗口有一个滚动事件,而不是“body”
$(窗口)。滚动(函数(){
//文档具有滚动顶fn,而不是“正文”
log($(document.scrollTop());
if($(文档).scrollTop()<442){
$('nav').addClass('navz');
}否则{
$('nav').removeClass('navz');
}
});
正文{
高度:300vh;
}

你说的“总和”是什么意思,您正在输出两个值,只记录正文的scrollTop。scroll的实际元素是什么?HTML或body标记?不要同时使用这两个。您说您的HTML已溢出:隐藏,因此将事件侦听器添加到HTML元素没有意义。抱歉,我检查了我的代码,粘贴了错误的代码。我将更正它,但我只输出
$('body').scrollTop()
console.log($('body').scrollTop())
您能创建一个简单的JSFIDLE/codepen示例来重现您的问题吗?我没有任何意义,可以打印总和,但从您发布的代码来看,没有任何错误迹象。