0

InternetExplorer8のjQuerysetInterval関数に問題があります。前のアニメーションが終了するまでアニメーションの起動を停止するスクリプトがあります。Chrome、Firefox、IE 9でも正常に動作しますが、IE8の2番目のアニメーションは開始されません。また、インターバルがなくても問題なく動作するため、インターバルに問題があると確信しています。以下の私のコードを参照してください:

 $('#name').animate({top: "325"}, 2000);
 $('#line').animate({width: "525"}, 2000);
 var wait = setInterval(function() {
    if( !$("#line, #name").is(":animated") ) {
       clearInterval(wait);
       $('#photo').fadeIn(2500);
       $('#enter').show(3000);
    }
 }, 0);

助けていただければ幸いです。

4

1 に答える 1

1

.animateメソッドへのコールバックを使用することをお勧めします

function showItems () {
   $('#photo').fadeIn(2500);
   $('#enter').show(3000);
}
$('#line').animate({width: "525"}, 2000, showItems);

また、問題は.animate()メソッドとアニメーションに関係していないようです。IE8では、「Enter」リンクがまったく表示されません。だからそれはあなたのマークアップとsmthです。有効なXHTMLを作成してみてください。

于 2012-04-07T15:11:07.303 に答える