Javascript 如何使这个脚本动画化?

Javascript 如何使这个脚本动画化?,javascript,jquery,animation,scroll,Javascript,Jquery,Animation,Scroll,我有一个滚动脚本,如何制作动画呢?(使之平滑) $(文档).ready(函数(){ $.event.props.push(“wheelDelta”); $('#lolool')。on('mousewheel-DOMMouseScroll',函数(e){ var delta=e.车轮delta | |-e.详图; 这个。左+=(δ

我有一个滚动脚本,如何制作动画呢?(使之平滑)

$(文档).ready(函数(){
$.event.props.push(“wheelDelta”);
$('#lolool')。on('mousewheel-DOMMouseScroll',函数(e){
var delta=e.车轮delta | |-e.详图;
这个。左+=(δ<0?1:-1)*120;
e、 预防默认值();
});
});

您可以替换这一行

this.scrollLeft += ( delta < 0 ? 1 : -1 ) * 120;
this.scrollLeft+=(增量<0?1:-1)*120;

$(这个)。设置动画({
scrollLeft:$(this).scrollLeft()+(增量<0?1:-1)*120
});
或者,您可以为
$.fn.animate
函数指定第二个参数,以提供可变的动画时间。

更多信息

您可以通过使用JQuery
$elem.animate({scrollLeft:value},durationMs,'easeFn',callbackFn)的
animate
-函数设置
scrollLeft
-属性的动画来设置滚动的动画。

$(文档).ready(函数(){
$.event.props.push(“wheelDelta”);
$('#lolool')。on('mousewheel-DOMMouseScroll',函数(e){
e、 预防默认值();
var delta=e.车轮delta | |-e.详图;
var scrollLeft=$(this).scrollLeft()+(增量<0?1:-1)*120;
$(this).animate({scrollLeft:scrollLeft},500,'swing',function(){
//回调函数
});
});
});

我找到了另一种方法来解决这个问题。现在,需要等待10个小时的原因
this.scrollLeft += ( delta < 0 ? 1 : -1 ) * 120;
$(this).animate({
    scrollLeft: $(this).scrollLeft() + ( delta < 0 ? 1 : -1 ) * 120
});
$(document).ready(function() {
    $.event.props.push("wheelDelta");

    $('#lololol').on('mousewheel DOMMouseScroll', function(e) {
        e.preventDefault();

        var delta = e.wheelDelta || -e.detail;    
        var scrollLeft = $(this).scrollLeft() + (delta < 0 ? 1 : -1) * 120;

        $(this).animate({ scrollLeft: scrollLeft }, 500, 'swing', function() { 
            // callback fn
        });
    });
});