如何使这个脚本动画?

时间:2014-05-30 12:32:02

标签: javascript jquery animation scroll

我有一个滚动脚本,如何制作动画呢? (顺利)

$(document).ready(function() {
    $.event.props.push("wheelDelta");
        $( '#lololol' ).on( 'mousewheel DOMMouseScroll', function ( e ){
            var delta = e.wheelDelta || -e.detail;              
            this.scrollLeft += ( delta < 0 ? 1 : -1 ) * 120;
            e.preventDefault();
        });
});

2 个答案:

答案 0 :(得分:0)

您可以替换此行

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

$(this).animate({
    scrollLeft: $(this).scrollLeft() + ( delta < 0 ? 1 : -1 ) * 120
});

或者,您可以为$.fn.animate函数指定第二个参数,以提供可变动画时间 更多信息here

答案 1 :(得分:0)

您可以使用scrollLeft - JQuery animate

的函数设置$elem.animate({ scrollLeft: value }, durationMs, 'easeFn', callbackFn) - 属性的动画来设置滚动动画。
$(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
        });
    });
});