我有一个jQuery脚本,允许我水平滚动,但它是一个生锈的旧滚动,我想让它平滑而不改变整个代码。
我想用this.scrollLeft -= (delta * 90);
更改.animate
,但我是jQuery的初学者。
到目前为止,这是我的代码:
$(document).ready(function() {
$('html, body, eall, *').mousewheel(function(e, delta) {
this.scrollLeft -= (delta * 90);
e.preventDefault();
});
});
答案 0 :(得分:2)
您可以这样做:
$('html, body').animate({
scrollLeft : 0 // or whatever value you need here
}, 750);
答案 1 :(得分:1)
首先只选择必须调用您的事件回调的元素而不是$('html, body, eall, *')
,就像您的问题所显示的那样。
例如,将.horizontalScroll
类添加到所需元素,然后$('.horizontalScroll
)
然后你可以做这样的事情来制作更流畅的卷轴:
var scroll = $(this).scrollLeft() - (delta * 90);
$(this).stop(true).animate({
scrollLeft: scroll
}, 200);
e.preventDefault();
See this working demo(在div#scroll
内滚动,调整(delta * 90)
和animate
持续时间参数200
以获得所需的平滑度。