2013-01-11 203 views
2

我想滚动浏览器窗口以响应某些用户操作。使用jQuery滚动浏览器窗口

我找到了约scrollLeft in a stackoverflow response。从那里,我能找到scrollTop,并结束了以下情况:

$(window).scrollTop((Number($(window).scrollTop())+100)+'px'); 

这确实事实上滚动,但到页面的顶部。无论我用100取代什么样的价值(我甚至尝试过负数),它总是跳转到页面的顶部。 (注:$(window).scrollTop()返回0.)

有人可以给我一些提示,我可能会错过什么吗?

+0

如果您使用的是锚链接,你应该阻止事件的默认操作。 'event.preventDefault()'。 – undefined

+0

这是响应鼠标移动元素。 (它尚未实现,但完成后它将成为定时器处理程序。) –

回答

3

scrollTop只需要一个号码,而不是px值。

$(window).scrollTop($(window).scrollTop()+100); 

这应该够了。

+0

是的!这解决了它。 “px”用于我在我的问题中引用的stackoverflow,我发现了'scrollleft'。 –

1

你不需要Number原因scrollTop返回一个数字

scrollTop如果有一些scrollHeight提供比元素的高度更高将执行,它总是一个正数。

,它应该是这样的:

$(window).scrollTop($(window).scrollTop()+100); 

你不需要'px'

+0

因此代码看起来正确吗?这是另一个jsBin的bug吗? –

+0

你做了什么离线尝试。只需将所有内容下载到本地计算机? –

+0

转到jsBin - >下载 –

1

没有px嘀......

$(document).ready(function(){ 
    $(window).scrollTop(($(window).scrollTop()+600)); 
}); 

Fiddle

+0

'Number'根本不需要,scrollTop返回一个整数 –

相关问题