我使用jQuery制作水平滚动条。我有工作用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');*/
});
每个鼠标移动事件中,我计算新的左边距,滑块跨越了屏幕的宽度为100%以下。
这有效,但我有两个问题。在每个鼠标移动事件中调用计算似乎都是不好的做法,因为有数百个事件。有没有更好的方法,也许使用计时器?
另一个问题是,当用户第一次将光标悬停在其上时,我尝试使用动画,以便滑动条滑动到正确的位置,但似乎不起作用。 (在底部注释)
这些问题的任何帮助将是伟大的。由于
什么是理想的动画呢?一些事件不断滚动或滚动? – 2011-02-23 22:13:35
而不是跳到正确的位置,我只是想要它滚动到正确的位置,我在这里创建了一个小提琴http://jsfiddle.net/letsgojuno/RkbP6/ – michael 2011-02-23 23:59:45