2011-06-08 77 views
0

http://judi.simpleupdates.com/我試圖在頁面上使用jQuery fadeInfadeOut效果進行圖像幻燈片放映。這兩個項目fadeIn沒有問題。但是,fadeOut不會更改應該消失的divdisplay屬性。任何想法,爲什麼這可能不按預期工作?jQuery fadeOut不改變顯示屬性

這是發生故障的線路:

$(".carousel_item:nth-child(" + selected + ")").fadeOut(600); 

UPDATE:這個問題似乎是與fadeOut不具有widthheight一個元素。當值添加到widthheight屬性div.carousel_item時,fadeOut調用將正常工作。另一種方法是從img中刪除position: absolute,導致div增長到img維度。

+1

你能從你的應用程序提供一些代碼行嗎? – 2011-06-08 04:07:35

+0

你能否請刪除淡出的評論,以便我們可以測試 – mightyplow 2011-06-08 04:21:37

+0

有問題的代碼現在正在運行。對此感到遺憾:P – 2011-06-08 04:50:46

回答

1

對於沒有widthheight的元素,該問題似乎與fadeOut有關。當值被添加到widthheight屬性div.carousel_itemfadeOut調用正常工作。另一種方法是從img中刪除position: absolute,導致div增長到img維度。

感謝您的所有幫助和建議!

0

將HTML中的顯示設置更改爲<div id="txt2" class="carousel_item" style="display: none; ">應正確觸發fadeIn/fadeOut。

您可能還需要對jQuery更改爲: $(".carousel_item:nth-child(" + selected + ")").fadeOut(600).hide();

你打電話淡入/淡出上都設置爲display: block項目。它需要備用狀態才能工作。

UPDATE 下載網站的本地副本,改變了顯示隱藏()函數在JS來後:在我的測試

var inc = 1 
function showhide(current) { 
    if (inc == 1) current = 2; 
    $(".carousel_item:nth-child(" + selected + ")").fadeIn(600); 
    $(".carousel_item:nth-child(" + current + ")").fadeOut(600).hide(); 
    selected = current; 
    inc++; 
} 

作品。希望它適合你。我添加了計數器,因爲您的初始計數似乎將selectedcurrent都設置爲1.

+0

所有帶有.carousel_item類的div都已設置爲display:none;在外部的css文件中。只有在該特定div上調用了fadeIn後,display屬性纔會更改爲block。我也嘗試設置內聯值而不解決問題。 – 2011-06-08 05:37:38

+0

這個建議對我有用。一個問題是,如果更多的項目被添加到幻燈片(由客戶控制),那麼它將無法工作。所以你的解決方案是正確的,給你的信息。 **上面討論的最終解決方案**。 – 2011-06-08 18:58:36

0

是不是可以將jQuery選擇器中的當前選擇變量和選定變量相互替換?當我明白這一點時,你想淡出當前並淡入選擇,不是嗎?

+0

不,'current'是要顯示的'div',並且'selected'是要消失的項目,儘管如果在整個文件中完成了變換名稱的切換,我喜歡你的建議。 – 2011-06-08 18:17:06