Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.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()无法在';车身';Firefox中的元素_Javascript_Jquery_Jquery Selectors_Scroll - Fatal编程技术网

Javascript jQuery scrollTop()无法在';车身';Firefox中的元素

Javascript jQuery scrollTop()无法在';车身';Firefox中的元素,javascript,jquery,jquery-selectors,scroll,Javascript,Jquery,Jquery Selectors,Scroll,我不明白为什么scrollTop()jquery函数在Firefox的“body”元素上不起作用 $('body').scrollTop(0); 我使用以下方法解决了问题: $(window).scrollTop(0); 但是,根据jquery文档,scrollTop()应该适用于所有元素,如本例中所示: $( "div.demo" ).scrollTop( 300 ); 我也用“nav”和“main”进行了测试,但都不起作用。试试这个: 要滚动的div: <div id="top"

我不明白为什么scrollTop()jquery函数在Firefox的“body”元素上不起作用

$('body').scrollTop(0);
我使用以下方法解决了问题:

$(window).scrollTop(0);
但是,根据jquery文档,scrollTop()应该适用于所有元素,如本例中所示:

$( "div.demo" ).scrollTop( 300 );
我也用“nav”和“main”进行了测试,但都不起作用。

试试这个:

要滚动的div:

<div id="top"></div>

如果希望浏览器之间保持一致,请使用
窗口

$(window).scrollTop();

滚动

$(窗口)。滚动顶部(0)(可能是IE8,但我不再测试它)

动画滚动条

如果要设置滚动动画,jQuery在使用
窗口
对象(1.11.2测试)时会返回一个错误。相反,要制作滚动动画,最好同时使用
html
body
来覆盖使用其中任何一个的引擎。因此:

$('html,body')。动画({scrollTop:0},500)将在半秒钟内滚动到浏览器顶部

滚动位置


您不能使用
$('html,body').scrollTop()
查找页面的当前滚动位置-至少Chrome不支持此操作(始终返回0)。相反,为了一致地找到页面的滚动位置,有必要使用
$(window.scrollTop()

非常简单的代码,工作100%

$('body, html').scrollTop(0);

您是否尝试过
$(“body,html”).scrollTop(0)?对于浏览器窗口,仅滚动选项为$(窗口),在其他元素上,仅当其父元素具有scrollbar时,scrollTop才能工作。我在chrome中进行了测试,scrollTop()和“body”选择器工作正常。这似乎是Firefox的问题。事实上,$(“body,html”)。scrollTop(0)也在Firefox中工作。所以问题是:为什么需要在firefox中为选择器指定上下文而不是在chrome中?谢谢,但我不想设置滚动动画。我可以使用
$(窗口)滚动到顶部。滚动顶部(0)
$(“正文,html”)。滚动顶部(0)
,但它没有解释为什么
$(“正文”)。滚动顶部(0)
在Firefox中不起作用,而在Chrome中起作用。@j Firefox在html级别而不是正文级别上有溢出,因为基于webkit的browserI看到了类似的情况,并意识到我没有完全重新加载文档。一旦我将光标放在位置栏并按enter键,它就工作了。只是一个想法-祝你好运。@Marcus如果你在
html
body
上查询
overflow
,在这两种浏览器中,它们都返回
visible
你的最后一段是救命的。
$('body, html').scrollTop(0);