2008-10-29 60 views
0

当我在页面中展开元素时,我想要做的是向下滚动窗口。为扩展元素滚动浏览器窗口的最佳方式是什么?

我试图达到的效果就像堆栈溢出评论。如果它扩展到页面之外,它会向下滚动以适应窗口中的所有注释。

这样做的最好方法是什么?

编辑:我正在使用JQuery。

+0

你使用任何特定的JavaScript库? – MDCore 2008-10-29 12:52:00

回答

0

如果您具有使用Prototype的优势,则可以使用$(element).scrollTo()

否则,总体思路是计算元素的累积偏移量,然后相应地设置window.scrollTop(和window.scrollLeft)。

new Effect.ScrollTo('someDiv',{...some parameters...}) 

它可以让你更好的控制比单独原型(延迟之前开始,持续时间和回调事件(如后整理),允许:

0

你可以用Scriptaculous(建立在Prototype顶部)很好地做到这一点您触发其他效果或任何你选择你可以把它顺利,也很滚动,所以页面不会突然跳

0

如果您知道源代码中的下一个元素,您实际上可以跳转到该元素(location.href =“#...”)。这将使用浏览器的本地“滚动”而不使用任何库。

0

你可以使用这段代码很好但不完美。 根据blonkm的建议

function scrollTo(Selector){ 
    $(Selector).before("<a name='scroll' id='scroll'></a>"); 
    document.location.hash = 'scroll'; 
    $('scroll').remove(); 
} 

这应该有效。 需要jQuery,但你已经说过你在使用它。

相关问题