所以,我在 div 中扔了一些数据。它按日期分成 block 。它使用 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'
});
});
有人可以给我一些指导吗?谢谢!
最佳答案
嘿,我已经为您准备了一个实现页面。您可以了解如何使用 jQuery 检测滚动区域的结尾。
对于整个文档,您必须在 javascript 中检测 .scrollTop
是否等于 .scrollHeight
。使用 jQuery 将检测:
if ( $(document).scrollTop() == ( $(document).height() - $(window).height() ) {
// Do something here ...
}
宽度也是如此。看一下 div
here 的示例。
关于jquery - 使用 jQuery 检测水平滚动 div 的结尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5970404/