2011-01-13 94 views
0

請請幫助我的人,我失去了我的想法。jquery fadeIn/Out IE問題 - 令人沮喪

我有絕對/相對(嘗試兩者)定位divs所有類的框。點擊我想divs淡出然後正確的淡入英寸除了IE 6和7(有時8)以外的所有瀏覽器都能正常工作。它們逐漸消失,但沒有任何東西能夠消退。對於這種類型的問題,網絡遍佈全球,但沒有任何幫助。請請幫忙。

這是代碼

$("li#about").click(function(){ 
    $box.fadeOut(200); 
    $("div#about").delay(800).fadeIn(800); 
}); 

$("li#portfolio").click(function(){ 
    $box.fadeOut(200); 
    $("div#portfolio").delay(800).fadeIn(800); 
}); 

等......

我失去了什麼?在這裏演示 - 死鏈接!

+0

爲了節省您的時間,你應該選擇更改爲以下:`$(「#約,#組合,#另一個,#和_antoher「)。點擊(/*...*/)`來節省你很多次。 – RobertPitt 2011-01-13 13:40:25

+0

我明白你的意思,但每個人都需要淡入相應的div。所以李#關於需要淡入div#關於 - 李#投資組合需要淡入div#組合 - 如果他們被分組那樣,然後當點擊只有一個和相同的div將淡入 - 對嗎? – thom 2011-01-13 13:49:46

回答

1

如果我正確閱讀這篇文章,你是否有多個具有相同ID的HTML標籤,即使它們是不同類型的標籤?例如,李#關於和div#約。也許Internet Explorer會更喜歡他們是否擁有唯一的ID?

0

你不定義$ box。在IE中,你需要定義它,以便:

var $box = ......... 

你需要$nav

編輯 做到這一點還的arent工作在你的腳本中的元素的,一旦你沒有定義

+0

我在文檔準備好後定義了它 – thom 2011-01-13 13:48:16

+0

不,你沒有: `var $ name = $(「div#name」); $ nav = $(「div#nav」); $ box = $(「div.box」);` – 2011-01-13 14:03:05

1

我想確定將錨定添加到您的主導航中,以便通過鍵盤和JavaScript關閉時可以訪問它們。然後,您可以使你的腳本更小也通過執行以下操作:

<div id="nav"> 
<ul> 
    <li><a href="#about">about</a></li> 
    <li><a href="#portfolio">portfolio</a></li> 
    <li><a href="#social">social</a></li> 
    <li><a href="#contact">contact</a></li> 
</ul> 

$("#nav li a").click(function(){ 
    $box.fadeOut(200); 
    $($(this).attr('href')).delay(800).fadeIn(800); 
});