2011-05-11 81 views
1

fadeToggle無法按預期工作。fadeToggle子元素

這裏是一個示例小提琴:http://jsfiddle.net/JNu2q//

什麼,我需要做的是有更多的元素淡出,但所有的子元素的

<div id="happenings"> 
    <h3>Clicky<span class="ui-icon ui-icon-circle-triangle-e"></span></h3> 
    <span class="ui-helper-hidden"><div class="more"> yadada</div></span> 
    <h3>Clicky<span class="ui-icon ui-icon-circle-triangle-e"></span></h3> 
     <span class="ui-helper-hidden">THINGS</span> 
      <h3>Clicky<span class="ui-icon ui-icon-circle-triangle-e"></span></h3> 
     <span class="ui-helper-hidden"">THINGS</span> 
</div> 
<script type="text/javascript"> 
$('#happenings>h3').click(function() { 

    $(this).next('span').fadeToggle() 
    $('span', this).toggleClass('ui-icon-circle-triangle-s'); 
}); 
</script> 

爲小提琴表示當單擊第一個項目擴大但不褪色和合同。

這是我試圖做的事情的高度縮小版本。我通過ajax將配置文件加載到每個配置文件中。在跨度內是一些其他元素。所以其中的擴張和收縮。總之,我需要的跨度和它的子格在褪色。

感謝

回答

1

這是您的罪魁禍首

<div class="more"> yadada</div> 

它看起來像有塊顯示在div與淡入搞亂如果您將其更改爲一個跨度

<span class="more"> yadada</span> 

或設置它的顯示是內聯(或內聯塊)

<div class="more" style="display:inline;"> yadada</div> 

然後它工作。

+0

然後確實如此。但現在我不需要重新考慮其他一些事情。謝謝,至少現在我知道它爲什麼不起作用。 – matchew 2011-05-11 22:29:52

+1

@matchw這篇文章(http://stackoverflow.com/questions/1091322/how-to-fade-to-display-inline-block)建議你使用自定義動畫做淡入淡出,如果你需要讓你的容器顯示爲塊。 – 2011-05-11 22:31:48