2012-03-17 10 views
20

私は、次のコードを持っている:私はそれが動作CSSを使用したときに私には未知のいくつかの理由についてjQueryの可視表示

$('#loading').css("visibility", "visible"); 

$('#loading').show(); 

を!

しかし、私が.show()を使用すると、

動作しません。親切にお手伝いください。私はJQueryを初めて使用しています。

ありがとうございます。

編集:

<div class="footerOrder" id="loading" style="display:block;"> 

その後:

$('#loading').hide(); 

そして、まだいくつかの理由でノー行く

<div class="footerOrder" id="loading" style="visibility:visible;"> 
     <img src="../utils/loadingExistenz.gif" width="32" height="32" border="0" /> 
</div> 

はこれを試してみました!

編集:奇妙なことは他のすべてのDIVのために働いていることです!

答えて

24

使用display:none;

これは私

$(function(){ 

    $("#aLink2").click(function(){ 
     $('#loading').show(); 
    }); 

});​ 

ワーキングサンプルのために正常に動作します:http://jsfiddle.net/HShHg/6/

+0

あなたのサンプルを見て、それは動作していますが、私はそれを私のページで動作させることができません。あなたはクラスと同時にIDを持っていると考えていますか? – iTEgg

+0

要素のIDは一意である必要があります。 Firebugコンソールタブ – Shyju

+0

@iを使用して、他のスクリプトエラーが存在するかどうかを確認してください。いいえ、それはできません!あなたは 'visibility:hidden'を要素に持っていますか?どうやってそれを隠しましたか? – gdoron

34

jQueryの.show()および.hide()は、visibilityプロパティではなく、CSS displayプロパティでのみ動作します。私はjQuery 1.7のソースコードをチェックして、それが正しいかどうかを確認しました。

したがって、.css('display', 'none').show()と一致します。

あなたが可視性を変更したい場合は、あなただけの直接CSSを変更したり、あなたのためにそれを行うには、独自のhideV()showV()方法になるだろう:

jQuery.fn.showV = function() { 
    this.css('visibility', 'visible'); 
} 

jQuery.fn.hideV = function() { 
    this.css('visibility', 'hidden'); 
} 
+1

を持つことが必要ですレイアウト。 – gdoron

+0

これは正しい答えです。 – candlejack

4

ドキュメントによると:

.show() This is roughly equivalent to calling .css('display', 'block')

visibilityと混乱しても、それはあなたを助けません。

何をすべきことは、常に.css('display', 'none')または.hide()


で隠している私はちょうどこの便利なdocsを見つけた:や不透明度を隠さ:0 視認性

要素をは、まだレイアウト内のスペースを消費しているので、と見なされます。代わりに、視認性の

0

私は示すこと.css("visibility", "visible");を使用し、その要素にvisibility: hidden;を入れてに固執うそれはまだページ上のスペースを占めるからです。

これは、ロード中の不安定なページと目に見えないコンテンツの恐ろしいFlash(FOUC)を避けることができます。 `**可視性を持つ要素:隠された**または不透明度:彼らはまだでスペースを消費するので0が、見えるように考えられている

2

jQueryの.show()display:none CSSプロパティこのドキュメントで見つかり

0
<!DOCTYPE html> 
<html> 
<head> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
<script> 
$(document).ready(function(){ 
$('div#sidebar-collapses').click(function(){ 
    if ($("#title").is(":hidden")) { 
    $("#title").show(); 
    } else if ($("#title").is(":visible")) { 
    $("#title").hide(); 
    } 
}) 

}); 
</script> 
</head> 
<body> 
<div class="sidebar-collapse" style="" id="sidebar-collapses"> 
    <a href="#" class="sidebar-collapse-icon with-animation"> 
     Test    
     <i class="menu"></i> 
    </a> 
</div> 
<a href="mysite_url" id="title" style="display:none;"> <br> My Site Name </a> 

</body> 
</html> 
関連する問題