为scrollTop设置动画缓动

时间:2014-09-09 15:43:30

标签: javascript

如何为scrollTop设置动画缓动?我在滚动网站时使用scrollTop移动div元素。我希望div元素能够顺利移动,而不是如此急剧地跳跃。

以下是代码:

jQuery(window).scroll(function() {
    if (jQuery(window).scrollTop() > 20 ) {
                    jQuery('.topBar').css({
                    'position':'fixed',
                    'top':-40,
                    'bottom':""
                });
   }
    else {
                    jQuery('.topBar').css({
                    'position':'fixed',
                    'top':0,
                    'bottom':""
                });
    }
});

1 个答案:

答案 0 :(得分:1)

您是否尝试设置topBar标签的动画?

jQuery(window).scroll(function () {
    if (jQuery(window).scrollTop() > 20) {
        jQuery('.topBar').animate({
            top: "40"
        }, 300, function () {
            jQuery(this).addClass('scrolled');
        });
    } else {
        jQuery('.topBar').animate({
            top: "0"
        }, 300, function () {
            jQuery(this).removeClass('scrolled');
        });
    }
});

我创造了以下小提琴来说明我的意思: http://jsfiddle.net/2d3mxm5a/