2012-04-07 17 views
0

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

$('#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); 

+1

問題があるjsFiddleを作成してみてください。 – c69

+0

あなたはそれをここで見ることができます:http://laszloforras.com/ – Zoltan

答えて

1

私は方法

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

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

+0

それは素晴らしいです!どうもありがとう! – Zoltan

+0

スクリプトを変更したので、IE8でEnterリンクが表示されます。とにかく、htmlマークアップもチェックします。ありがとう! – Zoltan

関連する問題