javascript平滑向下滚动页面

时间:2015-04-18 11:33:16

标签: javascript

只是想知道是否有任何方法可以使用javascript来顺利滚动页面。我不是说href像#section1等。我的意思是实际的鼠标滚轮滚动。我遍布这个网站和互联网,但我能找到的是光滑的href滚动,而不是光滑的鼠标滚轮滚动。

3 个答案:

答案 0 :(得分:1)

试试这个:Smooth scrolling demo

您可以尝试这样的事情:

  1. 使用self.pageYOffset
  2. 获取当前的顶部位置
  3. 获取元素的位置,直到您要滚动到的位置:element.offsetTop
  4. 使用for循环到达那里,这将非常快或使用计时器使用window.scrollTo
  5. 进行平滑滚动直到该位置

    注意:解决方案只是粗略的想法,而不是交叉浏览器。

答案 1 :(得分:0)

这肯定是可能的。

我假设您不想从头开始构建它,所以这里是jQuery plugin

此插件的作用是收听mousewheelDOMMouseScroll事件,并在触发时执行自定义,平滑滚动。

答案 2 :(得分:0)

你可以在没有任何插件的情况下使用jquery轻松完成,你甚至可以决定滚动应该花多少时间。

例如,如果您想要覆盖的点中包含标识为scrollhere的元素,并将启动动画的单击侦听器附加到按钮或标识为scroll的链接:

$("#scroll").click(function() {
    $('html, body').animate({
        scrollTop: $("#scrollHere").offset().top
    }, 2000);
});