使用 jQuery 检测水平滚动 div 的结尾
所以,我在 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'
});
});
有人能给我一些指示吗?谢谢!
So, I've got some data tossed in a div. It's split up into chunks by date. It scrolls horizontally with the use of jQuery and the mousewheel plugin.
I need to fire an event when the div has reached it's terminal point (farthest left, farthest right). I think that it is possible with the way it is currently implemented to calculate when you cannot scroll any further by detecting the data fetched in the mousewheel plugin. I just need a nudge in the right direction. Here's the code that does the horizontal scrolling for me:
$(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'
});
});
Can anybody give me some direction? Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
嘿,我已经为您准备了一个实施页面。您可以了解如何使用 jQuery 检测滚动区域的结尾。
对于整个文档,您必须在 javascript 中检测
.scrollTop
是否等于.scrollHeight
。对于 jQuery,它将检测:宽度也是如此。在此处查看
div
的示例。Hey, I've prepared a page for you with the implementation. You can see how to detect the end of scrolling area with jQuery.
For the document as a whole you must detect in javascript whether
.scrollTop
has become equal to.scrollHeight
. With jQuery it would be to detect:The same is done for width. Have a look on example with
div
here.这是您想要的代码。
事实证明,它可以在 IE、Safari、Chrome、Firefox 等浏览器上运行。
这是 HTML 部分。
这是 JavaScript 函数中的 jQuery 部分。
Here is the code that you want.
It's proved that works on IE, Safari, Chrome, Firefox, etc.
Here is the HTML part.
Here is jQuery part in JavaScript functions.