【发布时间】:2011-05-11 20:45:27
【问题描述】:
所以,我有一些数据被扔进了一个 div。它按日期分成几块。它使用 jQuery 和鼠标滚轮插件水平滚动。
当 div 到达它的终点(最左边,最右边)时,我需要触发一个事件。我认为通过检测鼠标滚轮插件中获取的数据,可以通过当前实现的方式来计算您何时无法进一步滚动。我只需要朝着正确的方向轻推。这是为我执行水平滚动的代码:
$(document).ready(function () {
$('#timeline').mousedown(function (event) {
$(this)
.data('down', true)
.data('x', event.clientX)
.data('scrollLeft', this.scrollLeft);
return false;
}).mouseup(function (event) {
$(this).data('down', false);
}).mousemove(function (event) {
if ($(this).data('down') == true) {
this.scrollLeft = $(this).data('scrollLeft') + $(this).data('x') - event.clientX;
}
}).mousewheel(function (event, delta) {
this.scrollLeft -= (delta * 30);
}).css({
'overflow' : 'hidden',
'cursor' : '-moz-grab'
});
});
谁能给我一些指导?谢谢!
【问题讨论】:
-
为什么要花哨的滚动?如果您只是删除垂直滚动并设置
overflow-x:scroll,它将水平滚动而不会被破解。我猜有什么东西阻碍了你这样做? -
我正在使用一个插件,它可以在没有滚动条的情况下提供水平滚动效果。这就像看着一扇窗户,只看到它前面经过的东西。
标签: jquery scroll mousewheel