0
<script>  
function showhide() {  
document.getElementById('someimage').style.visibility="hidden";   
        }  
</script>  

目前我可以隐藏图像,但是我无法再次显示它。使用javascript单击按钮时,如何隐藏然后能够显示图像?

这是按钮:

<body>  
<input type="button" onclick="showhide()" />   
</body>  
4

3 回答 3

1

只需检查当前状态,然后采取相应措施。

function showhide() {
    var img = document.getElementById('someimage');
    if (img.style.visibility === 'hidden') {
        // Currently hidden, make it visible
        img.style.visibility = "visible";
    } else {
        // Currently visible, make it hidden
        img.style.visibility = "hidden";
    }
}

并向所有建议它的人简要说明一下关于 jQuery 的信息。

对于像这样简单的事情,不需要包含一个大的 DOM 操作库。如果你在一个更复杂的应用程序中做很多这样的 DOM 操作,那么 jQuery 开始变得更有意义。

但是,当您使用 jQuery 时,了解 jQuery 在幕后为您做了什么也很重要。

于 2013-02-25T21:41:28.770 回答
0

jQuery 的奇迹 - http://jsfiddle.net/PbG3t/

$(function() {
    $('#button').click(function() {
        $('#someimage').toggle();
    });
 });
于 2013-02-25T21:41:24.543 回答
0

如果您使用的是 jQuery,则可以使用 ( .toggle ) 方法来简化很多事情:

$('#someimage').toggle();

如果您想坚持使用手工制作的解决方案,我猜您的代码实际上缺少将元素的可见性设置回可见的决定性位。尝试:

<script>  
  function showhide() {
      var element = document.getElementById('someimage');
      element.style.visibility = element.style.visibility == 'visible' 
          ? 'hidden' 
          : 'visible';   
  }  
</script>

干杯,亚历克斯

于 2013-02-25T21:44:45.500 回答