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
,它仍会继续滚动。我怎么能阻止它,为什么会这样呢?
答案 0 :(得分:3)
这适用于Chrome:http://jsfiddle.net/mattball/MP2cg/
答案 1 :(得分:1)
看起来问题实际上是由于选择了文本而引起的。如果您添加不可选择的文本css规则并使用您的原始javascript,它可以使用滚动条按照您的需要工作(我相信)。在FF 3.6中测试