Joa*_*oan 9 javascript macos jquery mousewheel
我尝试制作一个鼠标滚轮事件脚本,但由于我使用的是Apple Magic Mouse鼠标及其继续滚动功能,因此遇到了一些问题.
我想这样做http://jsfiddle.net/Sg8JQ/(来自jQuery Tools Scrollable with Mousewheel - 滚动一个位置并停止,使用http://brandonaaron.net/code/mousewheel/demos),但我想要一个简短的滚动到框时的动画(如250ms),以及在一个动画中多次滚动时能够通过多个框的能力.(如果我滚动,动画开始滚动到第二个盒子,但如果我再滚动,我想去第三个,如果我滚动两次,到第四,等等)
我首先想到stopPropagation/ preventDefault/ return false;可以"停止"鼠标滚轮速度(和var delta) - 所以我可以计算新滚动事件的数量(可能带有计时器) - 但是没有一个能做到.
想法?
编辑:如果您尝试使用这些鼠标在Google日历中滚动,则会切换多个日历,而不仅仅是一个日历.似乎他们也无法解决这个问题.
编辑2:我想解除绑定鼠标滚轮,并再次将其绑定后可以停止鼠标滚轮监听器(和不听的惯性结束).它没.
编辑3:尝试与日期一起工作(感谢这篇文章),不是最优的,但总比没有好http://jsfiddle.net/eZ6KE/
我在我的网站上遇到了类似的问题,经过多次失败的尝试,我编写了一个函数,它计算所选框的总偏移量并重新开始动画。它看起来像这样:
function getOffset() {
var offset = 0;
$("#bio-content").children(".active").prevAll().each(function (i) {
offset += $(this)[0].scrollHeight;
});
offset += $("#bio-content").children(".active")[0].scrollHeight;
return offset;
}
var offset = getOffset();
$('#bio-content').stop().animate( {
scrollTop: offset
}, animationTime);
Run Code Online (Sandbox Code Playgroud)
我希望它能让您了解如何实现您想要的目标。
| 归档时间: |
|
| 查看次数: |
7239 次 |
| 最近记录: |