0

我有一个如下所示的 html 图像元素,默认情况下应该隐藏

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

但在某些情况下,我需要显示图像。

我试过 jQuery$("#leftL").css('visibility','visible')$("#leftL").show().

两者都不适用于我的情况。但是,如果我visibility:hidden从样式中删除并使用$("#leftL").css('visibility','hidden').

我在我的页面中加载大图像,所以当我使用时$("#leftL").css('visibility','hidden')Left.png看到一段时间。

有什么办法可以克服这个吗?

4

4 回答 4

2

visibility使用属性而不是 CSSdisplay属性。

这就是 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

jQueryshow()hide()方法适用于显示样式属性,而不是可见性。所以你可能想要使用display:none而不是visibility:hidden在图像上,然后你可以使用 jQuery 的显示和隐藏方法。

于 2012-11-27T12:05:37.623 回答
0

查看http://api.jquery.com/hide/似乎 .hide() 编辑了 css 属性“显示”

如果在您的样式中使用 !important,例如 display: none !important,如果您希望 .show() 正常工作,则必须使用 .css('display', 'block !important') 覆盖样式。

是否使用

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

解决这个问题?

于 2012-11-27T12:06:21.010 回答