我正在使用 jQuery 制作水平滚动条。我有它使用以下
var wrapper = $('#wrapper'),
content = $('#scroll-content');
wrapper.bind('mousemove', function(e){
var wrapper_width = wrapper.width(),
content_width = content.width();
//wrapper and content width
var tmp = e.pageX * (content.outerWidth() - wrapper.outerWidth()) / wrapper.outerWidth();
//calculate new left margin
content.css({ 'margin-left': '-'+tmp+'px' });
//set margin according
/*content.animate({
'margin-left': '-'+tmp+'px'
}, 30, 'easeOutSine');*/
});
每个 mousemove 事件我都会计算新的左边距,滑块跨越屏幕的 100% 宽度。
这有效,但我有两个问题。对每个 mousemove 事件调用计算似乎是一种不好的做法,因为有数百个事件。有没有更好的方法,也许使用计时器?
另一个问题,当用户第一次悬停它跳到位的滑块时,我尝试使用动画,以便滑块向下滑动到正确的位置,但似乎没有工作。(在底部评论)
对这些问题的任何帮助都会很棒。谢谢