我刚刚推出http://elliewauters.com&有一个我想修复的问题,该网站使用了很多动画水平滚动从一个'页面'到下一个,但刷新大多数浏览器时记住滚动位置和放大器。回到我以前的地方,我不想要这个。尝试进入“关于”页面&然后刷新。你会看到徽标&菜单位于页面中间,就像您第一次到达网站时一样。
我想要帮助解决以下两个问题:
我尝试使用$(window).scrollLeft(0);
无效且无效
scrollLeft = $(window).scrollLeft();
console.log(scrollLeft)
if (scrollLeft>1) {
$('#header').addClass('notLeft').css('top','0%');
} else {
$('#header').addClass('left').css('top','25%');
}
不起作用,是否有人知道如何实现我的目标?
提前致谢
答案 0 :(得分:6)
由于console.log(scrollLeft)
,Firefox无法正常工作,因此删除后应该可以正常工作。至于你遇到的问题,我猜它只发生在IE?解决方案是不使用$(window)
,而是将其替换为$(document)
。所以使用:
scrollLeft = $(document).scrollLeft();
答案 1 :(得分:2)
我知道这是一个旧线程,但jQuery中的.scrollLeft()在Android上也不适合我,今天在jQuery 1.9.1(2013年4月)。试试这个:
window.scrollTo(x, y);
这适用于所有最近的平台和操作系统,包括Android手机。
答案 2 :(得分:1)
$("#el").animate({ scrollLeft:110 }, "fast");