jQuery的滚动速度
我用下面的代码根据鼠标的位置来滚动层:jQuery的滚动速度
$(".icons").animate({scrollTo:x},duration);
但是它的工作原理发现,我发现,要权当滚动速度更快。还注意到,如果滚动条从左边开始滚动到右边一点,然后再滚回来,他再次确实很慢。我假设真正的滚动速度不是最好的控制使用持续时间的参数,但我不知道如何控制速度。无论滚动条在哪里,我都想要保持一致的速度。
任何指针?
感谢
的问题是,这是一个持续时间,而不是你传递的速度,所以你需要立足于你需要移动,这样的距离,持续时间:
$(".icons").each(function() {
var duration = Math.abs($(this).scrollLeft() - x) * 2; //2ms per pixel moved
$(this).animate({scrollLeft: x}, duration);
});
你可以根据需要调整该常数,但这是基本前提,需要移动距离(绝对值),并将像素数乘以某个常数(如果需要),即每像素毫秒。
感谢尼克,这是我以后。 ..仍然必须调整我的代码升技,但你已经钉在头上...干杯! – 2010-07-19 14:37:41
只是为了更新你,我已经实现了上述,它工作的一种享受。非常感激! – 2010-07-19 15:55:40
@Steven - 优秀:)总是很高兴听到一个问题的解决。 – 2010-07-19 16:07:24
它实际上应该是'scrollTop',而不是'scrollTo'。错字? – jAndy 2010-07-19 14:09:27
对不起,斑点。我实际上使用scrollLeft ..水平滚动...我已经看过scrollTo插件和平滑滚动,但我想避免使用大量的插件... – 2010-07-19 14:19:07