0

我想要做的是在我展开页面中的元素时向下滚动窗口。

我想要达到的效果就像 Stack Overflow 的评论。如果它扩展到页面之外,它会向下滚动以适应窗口中的所有评论。

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

编辑:我正在使用 JQuery。

4

5 回答 5

1

这个 jQuery 插件对我很有效:http: //demos.flesler.com/jquery/scrollTo/

于 2008-11-05T03:44:17.850 回答
0

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

否则,一般的想法是计算元素的累积偏移量,然后相应地设置window.scrollTop(and window.scrollLeft)。

于 2008-10-29T04:15:39.700 回答
0

您可以使用Scriptaculous (建立在Prototype之上)很好地做到这一点:

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

它为您提供比 Prototype 单独的更好的控制(延迟开始前、持续时间和回调事件(例如 afterFinish),允许您触发其他效果或您选择的任何内容。您可以使其平滑流畅地滚动,因此页面不会突然跳。

于 2008-10-29T12:38:10.027 回答
0

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

于 2008-11-19T21:48:51.927 回答
0

您可以使用此代码,这还可以,但并不完美。根据 blonkm 的建议

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

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

于 2008-11-19T22:09:31.137 回答