2011-12-15 106 views
0

只是一個簡單的問題,有人可以告訴我哪裏出錯了,我想切換類的可見性,但我無法恢復其知名度。隱藏它是好的:Jquery知名度切換不起作用

if($(".ball").is(':visible') == true) { 
    $(".ball").css({ 'visibility': 'hidden'}); 
} else { 
    $(".ball").css({ 'visibility': 'visible'}); 
} 

,因爲我需要的類保持但不可見,切換會搞亂與格式我不能使用切換。

幫助會很好,謝謝。

回答

2

的元素,您可以用ball類選擇所有元素,然後確定在何處或不很隱蔽:

$(".ball").each(function() { 
    var ball = $(this); 
    if (ball.css("visibility") === "hidden") 
     ball.css("visibility", "visible"); 
    else 
     ball.css("visibility", "hidden"); 
}); 
+0

對我無效 – mao 2011-12-15 02:51:23

+0

下面是該代碼工作的一個示例。 http://jsfiddle.net/CWg5B/ – 2011-12-15 02:56:27

0
if($(".ball").is(':visible') == true) { 
    $(".ball").hide(); 
}; 

可能不是你所追求的,但它會隱藏有「球」類

+0

是的,這就像切換一樣,afaik它有效地使它成爲0大小,而不是隱藏可見性,這是​​我需要的。不過謝謝。 – mao 2011-12-15 02:45:40

6

的選擇 「:可見」 不知名度工作,只有顯示

這裏是jQuery文檔http://api.jquery.com/visible-selector/的片段:

元素能見度:隱藏或不透明度:0被認爲是可見的,因爲它們仍然消耗在佈局空間。在隱藏元素的動畫期間,元素被視爲可見,直到動畫結束。在動畫中顯示元素時,元素被視爲在動畫開始時可見。

試試這個:

if($(".ball").css("visibility") == "visible") { 
    $(".ball").css({ 'visibility': 'hidden'}); 
} else { 
    $(".ball").css({ 'visibility': 'visible'}); 
} 

下面是一個例子http://jsfiddle.net/eGVWM/2/

1

$(".ball").toggle();將切換過,但其工作方式使用display:none