2014-03-03 47 views
0

在下面的代碼中,div的淡出使用了jquery的新fadeOut功能。不幸的是,這會將標籤的樣式更改爲「display:none」。而我無法弄清楚如何將它改回來,這樣我就可以將其淡入。從Jquery的fadeOut回來

我不想使用不透明度樣式或fadeTo,因爲我需要div完全隱藏,拉動所有其他浮動與它。

/* Hide interface, fade logo */ 
$('.toggle-ui').on({ 
    'click': function (e) { 
     e.preventDefault(); 

     var divToHide = ['#slideshow-nav', '#nav', '#content']; 

     $.each(divToHide, function(intValue, currentElement) { 
      // check alpha state and switch 
      var currVis = $(currentElement).css('visibility'); 

      $(currentElement).css('visibility', currVis == 'visible' 
       ? $(currentElement).fadeOut('slow') 
       : $(currentElement).fadeIn('slow')); 
     }); 
    } 
}); 

回答

0

檢查樣式「顯示」並將其用於條件作品。

如下:

$('.toggle-ui').on({ 
    'click': function (e) { 
     e.preventDefault(); 

     var divToHide = ['#slideshow-nav', '#nav', '#content']; 

     $.each(divToHide, function(intValue, currentElement) { 
      // check alpha state and switch 
      var currDis = $(currentElement).css('display'); 

      $(currentElement).css('visibility', currDis == 'none' 
       ? $(currentElement).fadeIn('slow') 
       : $(currentElement).fadeOut('slow')); 
     }); 
    } 
}); 
+0

我在同一時間回答(你可以做到這一點)。張貼它,讓人們可以看到。有用。你在說什麼錯誤? – obmon

+0

http://api.jquery.com/css/#css-propertyName-value:'value'必須是一個字符串或數字,'.fadeIn/Out()'返回一個jQuery對象。然後,我認爲'.fadeToggle()'就足夠了,不需要currDis =='none''檢查。 – leaf

+0

我來看看.fadeToggle。儘管如此,這是有效的。 – obmon