jQuery水平抓取内容和滚动页面

时间:2012-12-18 05:07:09

标签: javascript jquery scroll

我的目标是在鼠标移动时抓取内容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');  
    }); 
}); 

http://jsfiddle.net/mD7mu/

1 个答案:

答案 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将为您提供所需的效果,我认为。

here's the fiddle!