1

要素をフェードインおよびフェードアウトしようとしていますが、その間にわずかな一時停止があり、一時停止しなくても機能しますが、jQuery delay() 関数を使用して一時停止を追加すると、最初の fadeOut() の後に停止します;

コードは次のとおりです。

$('#headerimage2').each(function(){
for(i=1;i<50;i++){
    $(this).fadeOut(1200).delay(1000).fadeIn(1000).delay(1000);
    }
});

delay() 関数 (最初と 2 番目の両方) がループを壊すのはなぜですか?

4

2 に答える 2

4

ここでは暗い場所で撮影していますが、ライブラリのバージョン 1.4 を使用していることは確かですか? これはそのバージョンからの新しい機能です。

于 2010-04-24T19:00:40.193 に答える
1

投稿されたコードは、最新の jquery を使用して、firefox、safari、および chrome で完全に動作します。

<!DOCTYPE html>
<html>
<head>
  <style>
div { width: 60px; height: 60px; float: left; }
.first { background-color: #3f3; }
</style>
  <script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>

<p><button>Run</button></p>
<div id='headerimage2' class="first"></div>
<script>
    $("button").click(function() {
    $('#headerimage2').each(function(){
    for(i=1;i<5;i++){
        $(this).fadeOut(100).delay(500).fadeIn(100).delay(500);
       }
    });
    });
</script>
</body>
</html>
于 2010-04-24T19:05:03.773 に答える