当我在页面中展开元素时,我想要做的是向下滚动窗口。为扩展元素滚动浏览器窗口的最佳方式是什么?
我试图达到的效果就像堆栈溢出评论。如果它扩展到页面之外,它会向下滚动以适应窗口中的所有注释。
这样做的最好方法是什么?
编辑:我正在使用JQuery。
当我在页面中展开元素时,我想要做的是向下滚动窗口。为扩展元素滚动浏览器窗口的最佳方式是什么?
我试图达到的效果就像堆栈溢出评论。如果它扩展到页面之外,它会向下滚动以适应窗口中的所有注释。
这样做的最好方法是什么?
编辑:我正在使用JQuery。
这个jQuery插件的工作很适合我:。 http://demos.flesler.com/jquery/scrollTo/
如果您具有使用Prototype的优势,则可以使用$(element).scrollTo()
。
否则,总体思路是计算元素的累积偏移量,然后相应地设置window.scrollTop
(和window.scrollLeft
)。
new Effect.ScrollTo('someDiv',{...some parameters...})
它可以让你更好的控制比单独原型(延迟之前开始,持续时间和回调事件(如后整理),允许:
你可以用Scriptaculous(建立在Prototype顶部)很好地做到这一点您触发其他效果或任何你选择你可以把它顺利,也很滚动,所以页面不会突然跳
如果您知道源代码中的下一个元素,您实际上可以跳转到该元素(location.href =“#...”)。这将使用浏览器的本地“滚动”而不使用任何库。
你可以使用这段代码很好但不完美。 根据blonkm的建议
function scrollTo(Selector){
$(Selector).before("<a name='scroll' id='scroll'></a>");
document.location.hash = 'scroll';
$('scroll').remove();
}
这应该有效。 需要jQuery,但你已经说过你在使用它。
你使用任何特定的JavaScript库? – MDCore 2008-10-29 12:52:00