滚动鼠标移动

时间:2011-06-06 18:30:45

标签: javascript jquery scroll

var down=false;
var scrollLeft=0;
var x=0;

$('#test').mousedown(function(e) {
    down = true;
    scrollLeft = this.scrollLeft;
    x = e.clientX;
}).mouseup(function() {
    down = false;
}).mousemove(function(e) {
    if (down) {
       this.scrollLeft = scrollLeft + x - e.clientX;
    }
}).mouseleave(function() {
    down = false;
});

以下是演示:http://jsfiddle.net/STVqe/3/

我希望能够使用鼠标滚动div。它工作得很好,虽然对于文本有点奇怪,因为你可能会意外地选择东西,但是当你将鼠标移到测试div之外时会出现问题。即使我正在设置down=false,它仍会继续滚动。我怎么能阻止它,为什么会这样呢?

2 个答案:

答案 0 :(得分:3)

答案 1 :(得分:1)

看起来问题实际上是由于选择了文本而引起的。如果您添加不可选择的文本css规则并使用您的原始javascript,它可以使用滚动条按照您的需要工作(我相信)。在FF 3.6中测试