javascript - 为什么需要点击才能应用我的功能?

标签 javascript web

我正在尝试编写一个代码,当您单击按钮时它会显示,当再次按下时它会隐藏图像。我将图像显示设置为,并且我希望在按下按钮时将其更改为阻止(以便显示图像)。

它可以工作,但仅当您单击两次时。 我该怎么做才能一键激活它?

HTML:

<button id="categoryBtn" onclick="insta()">instagram users</button>

JavaScript:

function insta() {
  var a = document.getElementById("instaBalas");

  if (a.style.display == "none") {
    a.style.display = "block";
  } else {
    a.style.display = "none";
  }
}

最佳答案

因为当你第一次点击时显示的是空字符串。所以它然后设置为'none'并正常工作。您可以使用getCompulatedStyle

const img = document.getElementById("instaBalas")
function insta() {
  var a = window.getComputedStyle(img);

  if (a.display == "none") {
    img.style.display = "block";
  } else {
    img.style.display = "none";
  }
}
<button id="categoryBtn" onclick="insta()">instagram users</button><br>
<img alt="Imgage" id="instaBalas">

我建议上课并使用classList.toggle()

的另一种方法

const img = document.getElementById("instaBalas")
function insta() {
  img.classList.toggle('hidden')
}
.hidden{
  display:none;
}
<button id="categoryBtn" onclick="insta()">instagram users</button><br>
<img alt="Imgage" id="instaBalas">

关于javascript - 为什么需要点击才能应用我的功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55774563/

相关文章:

javascript - 在选择下拉列表的值时显示复选框列表

javascript - Jasmine 规范因 Velocity.js 动画和 $.Velocity.mock = true 而失败

javascript - 设置从事件中选择的 ember 值

ios - CSS 媒体查询无法正确识别 iphone 6

javascript - 创建一个封装耦合 React 组件的类,然后将该类设置为 React 状态?

javascript - flexslider 单击背景时如何显示我的照片灯箱

javascript - 在 Ionic 中显示侧边菜单

jquery - 使用 jquery 遍历表会给出未捕获的异常

javascript - 使用 angularjs 将数据添加到 json-ld

WCF 句柄更新人员对象