【问题标题】:Smooth mouse wheel scrolling平滑的鼠标滚轮滚动
【发布时间】:2015-06-28 16:55:31
【问题描述】:

我使用 chrome,滚动速度很快,但不流畅。文本跳转多次。 但是在这个网站http://www.if-not-true-then-false.com/滚动工作非常顺利!和快! http://bassta.bg/demos/smooth-page-scroll/这个滚动很流畅但是很慢很滞后(快装轮不改变滚动屏幕的速度) 这个网站如何有这个流畅的滚动?没找到(

【问题讨论】:

  • 这取决于网站和开发者。我相信不是 chrome 的设置
  • 另外在您链接的第二个网站上,它是可用教程的演示:bassta.bg/2013/05/smooth-page-scrolling-with-tweenmax
  • 注意,如果在首页使用鼠标滚动,而不是用鼠标拖动栏,效果也很流畅
  • 没有。我需要 - 第一个网站如何做到这一点。第二个站点 - 我不需要的示例 - 它在快速滚轮移动中缓慢滚动。

标签: javascript css google-chrome scroll mousewheel


【解决方案1】:

试试这个

<script type="text/javascript">
if (window.addEventListener) window.addEventListener('DOMMouseScroll', wheel, false);
window.onmousewheel = document.onmousewheel = wheel;

function wheel(event) {
    var delta = 0;
    if (event.wheelDelta) delta = event.wheelDelta / 120;
    else if (event.detail) delta = -event.detail / 3;

    handle(delta);
    if (event.preventDefault) event.preventDefault();
    event.returnValue = false;
}

function handle(delta) {
    var time = 1000;
    var distance = 300;

    $('html, body').stop().animate({
        scrollTop: $(window).scrollTop() - (distance * delta)
    }, time );
}
</script>

【讨论】:

  • 对不起(它的滞后。尝试快速快速滚动更多次和页面缓慢滚动。:(
  • 更改时间变量并尝试
  • 你不明白如何让页面滚动慢,如果有一转滚轮,如果用户快速向下滚动页面。如何让它更快更流畅?
【解决方案2】:

首先用#top link建立一个链接,然后试试下面的代码 试试这个

<script type="text/javascript">
$("a[href='#top']").click(function() {
  $("html, body").animate({ scrollTop: 0 }, 1000);//here you can specify your time for smooth operation
  return false;
});
</script>

【讨论】:

  • OP 询问如何控制鼠标滚动速度而不是滚动到顶部功能。
  • OP 不是在问如何平滑滚动到屏幕的某个部分,而是在问如何在一般情况下平滑滚动而不跳动。
猜你喜欢
  • 1970-01-01
  • 2013-02-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-30
  • 1970-01-01
  • 2018-05-16
相关资源
最近更新 更多