如何将整个可见页面向下滚动到具有平滑效果的锚点(Scriptaculous或jQuery)?

时间:2010-05-13 15:30:35

标签: javascript jquery html css scriptaculous

我想创建一个带锚点的导航。通过单击导航链接,整个可见页面应向下滚动到单击的锚点。

最重要的是页面的以下结构。

--------------- (Begin visible browser area)
NAV1 nav2 nav3

content
--------------- (Begin/end visible browser area)
nav1 NAV2 nav3

content
--------------- (Begin/end visible browser area)
nav1 nav2 NAV3

content
--------------- (end visible browser area)

最后,所有内容都在一个文档中,并且必须计算当前页面的高度(由nav-item选择)(使用JS库)。我更喜欢PrototypeJS / Scriptaculous和jQuery。

滚动效果应该是平滑的幻灯片/效果。

克里斯

3 个答案:

答案 0 :(得分:3)

如果你想要一个jQuery解决方案,请使用ScrollTo,如果您只需要基于锚点的动画,请实现相关的LocalScroll插件。

如果您希望内容窗格占据整个可见浏览器区域,您可以使用jQuery在页面加载(以及浏览器调整大小)上动态设置。对于“身高”方法here有一个很好的解释。

答案 1 :(得分:1)

请参阅:Effect.ScrollTo

<a href="javascript:// scroll" onclick="Effect.ScrollTo('element_id', { duration:'.5'})" />link</a>

答案 2 :(得分:0)

我想也许你可以使用这个卷轴:http://ruwix.com/simple-javascript-page-scroll-slider-jquery-scrollto-function-label-end 它是迄今为止我发现的最短的,它非常简单。不幸的是,它会滚动固定数量的像素,而不是标签,但你可以使用它的想法。