如何指定每一步滚动移动多少像素? [英] How to specify how many pixels scroll moves on each step?

查看:21
本文介绍了如何指定每一步滚动移动多少像素?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我使用鼠标滚轮滚动 div 中的内容时,我希望它滚动例如 30px 每一步或每个鼠标滚轮刻度 w/e 是最好的解决方案.
我更喜欢 performance >轻松 即我更喜欢 javascript >jquery

When I use mouse wheel to scroll content in div I want it to scroll by e.g., 30px each step or each mouse wheel tick w/e is the best solution.
I would prefer performance > ease i.e. I'm preferring javascript > jquery

推荐答案

所以我自己摆弄了一些解决方案,你可以看例子 这里
感谢 Tom 带领我找到这个答案.

So I fiddled some solution of my own, you can see example here
Thanks Tom for leading me to this answer.

JS:

function wheel($div,deltaY){
   var step = 30;
   var pos = $div.scrollTop();
   var nextPos = pos + (step*(-deltaY))
   console.log("DelatY: " + deltaY + ", Step: " + step + ", nextPos: " + nextPos);
   $div.scrollTop(nextPos);
}

$('#test').bind('mousewheel', function(event, delta, deltaX, deltaY) {
    wheel($(this),deltaY);
    event.preventDefault();
});

使用的库:

  • jQuery 1.8.3
  • jQuery 鼠标滚轮

这篇关于如何指定每一步滚动移动多少像素?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆