javascript - 为什么我必须点击两次按钮才能工作,我该如何解决这个问题?

标签 javascript jquery css toggle double-click

除非我连续点击按钮两次,否则该功能运行完美。

function hideable(id) {
  var e = document.getElementById(id);
  if (e.style.display == 'inline-block')
    e.style.display = 'none';
  else
    e.style.display = 'inline-block';
}
<img class="user_upload" src="upload/0000000000.gif" alt="1024 KB, 500x309" title="1024 KB, 500x309" id="0000000000">
<span id="hide_image" onclick="hideable('0000000000');">hide image</span> 

编辑:抱歉,我应该指定。这是我已经在使用的 CSS,但它仍然不起作用(即使使用内联 block )

img.user_upload {
height: 75px; display: inline-block; float: left;
margin: 0px 20px 10px 0px;}

最佳答案

因为你的
<img class="user_upload" src="upload/0000000000.gif" alt="1024 KB, 500x309"title="1024 KB, 500x309" id="0000000000">
尚不包含显示样式,它在您的 if 语句中返回 null 并触发您的 else 情况。

尝试:

<img class="user_upload" src="upload/0000000000.gif" alt="1024 KB, 500x309" title="1024 KB, 500x309" id="0000000000" style="display:inline-block"> 

现在当你运行它时,它会识别出有一个元素并将样式设置为无。

关于javascript - 为什么我必须点击两次按钮才能工作,我该如何解决这个问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26140275/

相关文章:

javascript - 有没有什么方法可以在不使用 javascript 的情况下根据屏幕分辨率调整图像大小?

javascript - FadeIn/FadeOut 使 DIV 的堆栈而不是重叠?使用 'absolute' 不是解决方案

javascript - 按 'shift' 时禁用文本选择

javascript - 温泉 UI - 列表调整大小

html - 如何在 css 中将没有 ID 的 <p> 隐藏在具有 ID 和 Class 的 div 中?

javascript - 处理玩家和墙之间的碰撞

javascript - 如何将按钮放在右下角和所有内容之上?

javascript - 在 node-sass grunt 任务中包含 node-neat + 其他文件

javascript - 在 jquery 中转义单引号 (')。

html - 强制子元素在溢出之外可见 :hidden parent