Scrolltop始终为0,无法触发脚本

时间:2015-12-16 作者:Meir Snyder

在尝试将滚动脚本上的jQuery触发器添加到我的子主题时,我注意到它从未被触发,即使它已被添加。然而,在试图弄清楚为什么脚本不起作用后,我使用了document.body.scrollTop 要查找,它始终返回值0 尽管滚动高度较大。

我在未修改的父主题上尝试了同样的方法,发现它也总是返回一个0. 所以我假设有某种风格或脚本在劫持它。我试过追捕它,但到目前为止运气不好。

我是否可以通过css/javascript重置scrolltop属性,或者在其他滚动触发器上触发我的脚本?

1 个回复
最合适的回答,由SO网友:WPTC-Troop 整理而成

我想是吧

body.scrollTop 在严格模式下不推荐使用。请使用documentElement.scrollTop 如果处于严格模式,并且body.scrollTop 仅当处于怪癖模式时。

所以我建议你使用document.documentElement.scrollTop. 请告知我们您何时使用此声明?如果可能,向我们显示完整代码和控制台错误

请尝试以下针对您的注释代码编辑的代码,并让我们知道您在控制台中看到了什么。

jQuery(document).ready(function ($) {
 jQuery(window).scroll(function(){
 var ScrollTop = jQuery(window).scrollTop();
 if (ScrollTop > 100) { 
  jQuery( ".site-header" ).addClass( "scroll" ); 
   console.log("above 100");
 }else{
 jQuery( ".site-header" ).removeClass( "scroll" ); 
   console.log("below or equal to 100");
 }
 });
});