我的目标是在鼠标移动时抓取内容x并水平滚动页面,直到鼠标停止(鼠标事件),类似于平板电脑滑动操作。
似乎很容易.. 在mousedown上获取clientX, ClientX在移动时scrollLeft, 完成后关闭mousemove功能。
我已经玩了一段时间了,无法获得我正在寻找的滚动效果..
我在这里做错了什么?
$('#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');
});
});
答案 0 :(得分:4)
$('#greendiv').on('mousedown', function(e) {
$('#greendiv').on('mousemove', function(evt) {
$('html,body').stop(false, true).animate({
scrollLeft: e.pageX - evt.clientX
});
});
});
非常接近。简单地从pageX中减去clientX,并且在stop函数中使用false,true
将为您提供所需的效果,我认为。