0

我想让脚本无限循环,所以图像每次都会旋转。这是我的脚本不起作用:

function w_gore() {
  if(document.getElementById('mycarousel').style.top != '-544px' &&  document.getElementById('up').align == 'left') {
    document.getElementById('up').align = 'right';
    $("#mycarousel").animate({"top": "-=136px"}, "slow", function() {
        document.getElementById('up').align = 'left';
    }, setTimeout(function() {ruch();},1000));
  }
}

    function ruch() {
        w_gore();
    }

$(document).ready(function(){
    ruch();
});
4

2 回答 2

1

您需要使用setInterval

function w_gore() {
  if(document.getElementById('mycarousel').style.top != '-544px' &&  document.getElementById('up').align == 'left') {
    document.getElementById('up').align = 'right';
    $("#mycarousel").animate({"top": "-=136px"}, "slow", function() {
        document.getElementById('up').align = 'left';
    });
  }
}

function ruch() {
    w_gore();
}

$(document).ready(function(){
    window.setInterval(ruch, 1000);
});

PS 如果您使用 jQuery - 在所有代码部分中使用它。

jQuery版本:

function w_gore() {
    if ($('#mycarousel').position().top != '-544px' && $('#up').css('align') == 'left') {
        $('#up').css('align', 'right');
        $("#mycarousel").animate({ "top": "-=136px" }, "slow", function () {
            $('#up').css('align', 'left');
        });
    }
}
于 2012-02-09T17:49:21.527 回答
1

您已经在使用 jQuery,但不正确。这里有一些快捷方式:

document.getElementById('mycarousel').style.top

应该:

$('#mycarousel').css('top')

document.getElementById('up').align变成$('#up').css('align')

document.getElementById('up').align = 'right'变成$('#up').css('align','right')

您还需要Samich 的建议。

于 2012-02-09T17:54:35.323 回答