我正在创建一个水平滚动站点。不要恨!一切似乎都工作正常,除了当我在 mousedown 上绑定 mousemove 事件时,dom scrollLeft 属性没有改变。'moving' 和 'mouseup' 都在适当的时候被写入控制台。这是我的代码... 编辑:另外,我注意到如果我在 mousedown 上将 $('#container').scrollLeft 写入控制台,它会返回 'function()' 而不是一个值。
$(document).ready(function() {
$('#container').mousedown(function(event) {
$(this)
.data('down',true)
.data('x',event.pageX)
.data('scrollLeft',this.scrollLeft)
.css({'cursor':'url("http://www.loodieloodieloodie.com/images/closedhand.cur"),auto'});
$('body').bind('mousemove',function(event) {
console.log('moving');
$('#container').scrollLeft = $('#container').data('scrollLeft') + ($('#container').data('x') - event.pageX) * 2;
}).bind('mouseup',function() {
$('#container')
.data('down',false)
.css({'cursor':'url("http://www.loodieloodieloodie.com/images/openhand.cur"),auto'});
console.log('mouseup');
$(this).unbind('mousemove');
});
return false;
}).css({
'overflow':'hidden',
'cursor':'url("http://www.loodieloodieloodie.com/images/openhand.cur"),auto'
});
});
这是基本的html...
<body>
<div id="container">
<div id="inner">
CONTENT
</div>
</div>
</body>
谢谢你的帮助,B