2012-10-04 42 views
0

昨天我遇到了麻煩,在點擊每個按鈕時會出現上下左右的變化。在指定按鈕和不同按鈕上點擊淡入淡出

感謝來自stackoverflow「j08691」的用戶,此問題已得到解決。但是,我無法設法弄清楚如何讓內容淡入淡出,具體取決於每一個。

JS Fiddle

,幫助我的用戶還沒有看到這一個在我的問題。也許別人可以幫助我。

在小提琴中添加了CSS和HTML示例元素。我只是不知道如何使它工作。

例如在小提琴我們有按鈕A,B,C和D.

如果「A」被點擊它上升和<div id="letterA">Letter A opened-content.</div>應出現。如果按鈕A再次被點擊,它應該再次消失。 (fadeIn & fadeOut)。

如果按鈕「A」處於活動狀態,並且任何其他按鈕B,C或D被點擊,則按鈕A將再次淡出內容,並且其他單擊的按鈕將出現。

它很容易解釋,但很難使其工作。

在此先感謝。

回答

2

這裏是一個解決方案:http://jsfiddle.net/KQ3sq/1/

我不得不改變標記有點雖然。這個想法是將每個li與其目標div鏈接起來。爲此,我使用HTML5數據屬性。你也可以考慮添加一個帶有錨點的鏈接到相應的div(當沒有JS時回退)。

然後JS做神奇的是:

var target = $(this).data('target');  
$("#content").children(target).fadeIn().siblings().fadeOut(); 
+0

幾乎那裏... ^^一切正常,直到你點擊相同的按鈕(例如打開A,點擊A不關閉它) 標記更改是好的...... :) – dvLden

+0

好吧,你明白了,我讓你做拋光... –

+0

哦,太神奇了:D小傢伙帶着很小的JS知識將會挖掘出難以磨滅的東西,並且拋光:D!祝我好運。感謝您的解決方案;) – dvLden

0

更新@MarvinLabs:d

var target = $(this).data('target');  
      $("div#collapseContent").children(target).fadeIn().siblings().fadeOut(); 
      if($(this).height() != 15) $("div#collapseContent").children(target).fadeOut(); 

它工作,但我不知道這是罰款,也可以更好。所以請更新您的答案或在這裏回覆,如果theres更好的解決方案;)

乾杯,再次感謝。