Jquery .show()は、非表示の可視性を持つdivを表示しません


81

基本的なjQueryの質問:

divjQueryを使用して非表示としてマークされているを明らかにしようとしています。しかし、それを完全に理解していません

ここでJSFiddleを作成しました:http://jsfiddle.net/VwjxJ/

基本的には、隠し要素のスペースを維持したいのではstyle="visibility: hidden;"なく、使いstyle="display: none;"たい

使用してみましたshow()fadeIn()などどちらも仕事(彼らはのために行いますstyle="display: none;"

私は何が間違っているのですか?


6
jsfiddleのフレームワークをjQueryに変更してみてください。
a'r 2011

1
@ a'r:問題はまだ残っています。修正されたバージョンは次のとおり
Felix Kling

あなたの例では、プロジェクトに適切なライブラリを設定していません。「フレームワークの選択」では、「jQuery」を選択する必要があります。
メガ2011

5
反対票に対抗するための+1 ....人々は問題を理解するためにより多くの時間を費やすべきです...–
Felix Kling

5
他の人があなたが正しいライブラリを選択するのを忘れたと思ったからだと思います(そしてそれを変更した後、それはうまくいったように見えました)。しかし、彼らはあなたの質問とコードを注意深く読んでいませんでした。他になぜ最初のコメントが5つの賛成票を獲得するのでしょうか?はい、おそらくあなたのjsfiddleは正しくありませんでしたが、それはimoに反対票を投じる理由ではありません。それがなくても問題は明らかでした(そして修正は簡単でした)。
Felix Kling 2011

回答:


123

で非表示にしている場合はvisibility:hidden、jQueryで表示できます。

$(".Deposit").css('visibility', 'visible');

そして、フィドルにはjQueryがありません。これがデモです: http //jsfiddle.net/9Z6nt/20/


document.ready必要ありません。コードが実行されますonLoad(フレームワークの上にある選択ボックス)。
Felix Kling 2011

ああ、気づかなかった、ありがとう。ただし、DOMの準備が整う前にJSが呼び出されると、実際のコードで役立ちます。
ムハンマドウスマン2011

1
@Imrayそうです。それはの解決のためではなくvisibility:hidden、私は彼のものだけを修正しました。
ムハンマドウスマン2014

11

JQueryのドキュメントによると、.show().css('display', 'block')displayプロパティが最初の状態に復元されることを除けば、を呼び出すのとほぼ同じです」。代わりに、スタイルを明示的に設定してください。CSSクラスを使用できます

.hidden{
    visibility: hidden;
}
.shown{
    visibility: visible;
}

セットは使用しています

$("#yourdiv").removeClass("hidden").addClass("shown");

$("#yourdiv").toggleClass('hidden'); 「示されている」クラスの必要はありません
アレクサンダーバード

1
まったく同じではありません。これは、CSSの他の部分で可能なより一般的なオーバーライドに依存しますが、通常はそれでうまくいくでしょう。
polymorphix 2016年

7

非表示の要素のスペースを維持する場合は、不透明度を使用します。

すなわち:

$('div').fadeTo(500,1) //show
$('div').fadeTo(500,0) //hide

例えば:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div style='opacity:0'>
  Test opacity
</div>


<button onclick="$('div').fadeTo(500,1);">Show</button>
<button onclick="$('div').fadeTo(500,0);">Hide</button>


3

フィドルが機能しているのは、フィドルでフレームワークjQueryを選択するだけです。可視性が非表示の場合は、css可視性プロパティを可視に変更します。

(".Deposit").css('visibility','visible');



弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.