3

我正在使用此代码,它从上到下移动正常,但我想连续移动而不是一次。谢谢!!

    $(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);  
    })
4

2 回答 2

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);
})
于 2013-01-28T11:42:23.447 回答
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这里。您只需要计算出屏幕高度减去#movingdiv 的高度,然后您就可以一次完成动画。

于 2013-01-28T14:10:34.917 回答