繁体   English   中英

scrollTo()和jquery scrollTop()在Chrome中不起作用

[英]scrollTo() and jquery scrollTop() not working in Chrome

我正在使用html元素作为障碍制作益智平台游戏。 我想从文档底部开始一些层次。 所以我尝试使用

$(document).ready(function() {
    $(document).scrollTop($(document).height() - $(window).height());
}

$(document).ready(function() {
    window.scrollTo(0, document.body.scrollHeight);
}

它们都可以在Firefox中正常运行,但都不能在Chrome中运行。 我只能在为滚动动画制作动画时使它工作,而这对我尝试做的工作无效。

编辑:我不使用jQuery.toScroll()我尝试了香草toScroll和jQuery.scrollTop()

浏览器将滚动条以不同的方式附加到页面。 使用$('html,body')。scrollTop()。 您还应该使用$(window).innerHeight()。 像这样...

 $('html,body').scrollTop($(document).height() - $(window).innerHeight()); //Or to smooth scroll it $('html,body').animate({ scrollTop: $(document).height() - $(window).innerHeight() }, 1000); 

注意:如果文档比窗口短,则$(document).height()将返回与$(window).innerHeight()相同的值。

我没有执行完整的测试,但至少在特定的jQuery版本和最新的Chrome上,我还通过开发人员工具遇到了此问题。 animate确实起作用。 scrollTopscrollTo都不起作用。 尽管如此,即使您明确表示不想使用动画,但我仍然建议它使用,因为它可以正常工作,如果您这样使用它,我认为没有理由不使用它:

$('html, body').animate({scrollTop: 500}, 0);

由于持续时间设置为0,因此它将滚动到500px,并且根本没有动画。我还必须指出以前关于Chrome的问题:

可能重复

在Github上发行

我知道这个问题已经解决,但可能相关,应该报告,因为有些东西可疑。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM