我用下面的代碼根據鼠標的位置來滾動層:jQuery的滾動速度
$(".icons").animate({scrollTo:x},duration);
但是它的工作原理髮現,我發現,要權當滾動速度更快。還注意到,如果滾動條從左邊開始滾動到右邊一點,然後再滾回來,他再次確實很慢。我假設真正的滾動速度不是最好的控制使用持續時間的參數,但我不知道如何控制速度。無論滾動條在哪裏,我都想要保持一致的速度。
任何指針?
感謝
我用下面的代碼根據鼠標的位置來滾動層: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