Javascript jQuery抓取内容并水平滚动页面
我的目标是抓取ContentX并在鼠标移动时水平滚动页面,直到鼠标停止(mouseup事件),类似于平板电脑的滑动动作 似乎很容易。。 在mousedown上获取clientX, 移动时被ClientX向左滚动, 完成后关闭mousemove功能 我已经玩了一段时间,无法得到我想要的滚动效果 我做错了什么Javascript jQuery抓取内容并水平滚动页面,javascript,jquery,scroll,Javascript,Jquery,Scroll,我的目标是抓取ContentX并在鼠标移动时水平滚动页面,直到鼠标停止(mouseup事件),类似于平板电脑的滑动动作 似乎很容易。。 在mousedown上获取clientX, 移动时被ClientX向左滚动, 完成后关闭mousemove功能 我已经玩了一段时间,无法得到我想要的滚动效果 我做错了什么 $('#thediv').on('mousedown', function(event) { var e = event; $('#thediv').on('mou
$('#thediv').on('mousedown', function(event) {
var e = event;
$('#thediv').on('mousemove',function(event){
new_e = event;
$('html, body').stop().animate({
scrollLeft: new_e.clientX
}, 300);
return false;
});
$('#thediv').on('mouseup', function() {
$('#thediv').off('mousemove');
});
});
非常接近。我认为,只需从pageX中减去clientX,然后在stop函数中使用false,true
,就可以获得所需的效果
漂亮!是的,这是理想的效果。它不会断断续续地停止mousemove功能。。这可能是一个javascript错误,没有捕获mouseup事件来停止mousemove函数吗?我发现了mouseup问题,如果mouseup事件在div之外触发,它将不会关闭mousemove事件。我还添加了删除mouseout上的mousemove事件的功能-感谢您的帮助:)
$('#greendiv').on('mousedown', function(e) {
$('#greendiv').on('mousemove', function(evt) {
$('html,body').stop(false, true).animate({
scrollLeft: e.pageX - evt.clientX
});
});
});