0

私は次のようなhtml画像要素を持っています、そしてそれはデフォルトで隠されるべきです

<img 
  id="leftL" 
  src="anchors/Left.png"  
  style="
    width: 30px; 
    height: 24px;
    position:absolute;
    cursor:w-resize;
    visibility:hidden
  "
/>

しかし、状況によっては、画像を表示する必要があります。

$("#leftL").css('visibility','visible')jQueryとを試しました$("#leftL").show()

私の場合、両方とも機能していません。visibility:hiddenただし、スタイルから削除し、を使用して非表示にすると機能し$("#leftL").css('visibility','hidden')ます。

ページに大きな画像を読み込んでいるので、使用$("#leftL").css('visibility','hidden')するLeft.pngとしばらくの間表示されます。

これを克服する方法はありますか?

4

4 に答える 4

2

CSSvisibilityプロパティの代わりに、プロパティを使用しdisplayます。

これはjQuery.show().hide()変更点であるため、可視性の状態は一貫しています。

これは、.css('display'、'block')を呼び出すのとほぼ同じですが、displayプロパティが最初の状態に復元される点が異なります。

http://api.jquery.com/show/


したがって、代わりに:

  • visibility:visible使用するdisplay:block
  • visibility:hidden使用するdisplay:none
于 2012-11-27T12:05:22.593 に答える
1

あなたのコードは次のようでなければなりません

<img 
  id="leftL" 
  src="anchors/Left.png"  
  style="
  width: 30px; 
  height: 24px;
  position:absolute;
  cursor:w-resize;
  display:none;
  "
/>

そしてjQueryでは、$("#leftL").show();または$("#leftL").hide();

于 2012-11-27T12:09:20.087 に答える
0

http://api.jquery.com/hide/を見ると、.hide() が css プロパティ「display」を編集しているようです

display: none !important などのスタイルで !important を使用する場合、.show() を正しく機能させるには、.css('display', 'block !important') を使用してスタイルをオーバーライドする必要があります。

使用していますか

<div style="display:none"></div>

問題を解く?

于 2012-11-27T12:06:21.010 に答える
0

jQueryshow()hide()メソッドは、可視性ではなく、表示スタイル プロパティで機能します。display:noneしたがって、画像の代わりに使用したい場合はvisibility:hidden、jQuery の show メソッドと hide メソッドを使用できます。

于 2012-11-27T12:05:37.623 に答える