2012-04-07 152 views
0

我在IE瀏覽器8中遇到了jQuery setInterval函數的問題。我有一個腳本可以阻止動畫直到上一次動畫結束時才被觸發。它在Chrome,Firefox和IE 9中運行良好,但IE 8第二個動畫無法啓動。 我也確定問題與間隔,因爲沒有它,工作正常。 見下面我的代碼: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 2012-04-07 12:58:02

+0

你可以在這裏看到它:http://laszloforras.com/ – Zoltan 2012-04-07 13:22:02

回答

1

我會建議使用回調.animate方法

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

也似乎問題不是關於.animate()方法和動畫。在IE8中,我沒有看到「輸入」鏈接。所以它與你的標記是平等的。嘗試製作一個有效的XHTML。

+0

這很棒!非常感謝! – Zoltan 2012-04-07 15:25:23

+0

現在我已經改變了腳本,我確實在IE8中看到了輸入鏈接。無論如何,我也會檢查html標記。謝謝! – Zoltan 2012-04-07 15:38:50