使用jQuery从上到下动画div?

时间:2013-01-28 11:38:42

标签: jquery html css

我正在使用此代码并且它正常工作从上到下移动但我想连续移动而不是单次。谢谢!

    $(document).ready(function(){
     var bodyHeight = $('body').height();
     var footerOffsetTop = $('#moving').offset().top;
     var topToBottom = bodyHeight -footerOffsetTop;
     $('#moving').css({top:'auto',bottom:topToBottom});
     $("#moving").delay(100).animate({
     top: '100px',
     }, 3000);  
    })

2 个答案:

答案 0 :(得分:1)

$(document).ready(function() {
    setInterval(function(){
        var bodyHeight = $('body').height();
        var footerOffsetTop = $('#moving').offset().top;
        var topToBottom = bodyHeight - footerOffsetTop;
        $('#moving').css({
            top : 'auto',
            bottom : topToBottom
        });
        $("#moving").delay(100).animate({
            top : '100px',
        }, 3000);       
    }, 3200);
})

答案 1 :(得分:0)

试试这个:

$(document).ready(function() {
    var bodyHeight = $('body').height();
    var footerOffsetTop = $('#moving').offset().top;
    var topToBottom = bodyHeight - footerOffsetTop - $('#moving').outerHeight();

    $("#moving").animate({
        top : topToBottom,
    }, 3000);
});

演示 - http://jsfiddle.net/c9db5/

您根本不需要setInterval。你只需要计算出屏幕的高度减去#moving div的高度,然后你就可以一次性制作动画。