【发布时间】:2010-12-28 15:34:06
【问题描述】:
我正在创建一个水平滚动站点。不要恨!一切似乎都工作正常,除了当我在 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>
感谢您的帮助, 乙
【问题讨论】: