【问题标题】:Button Visibility Toggle Not Functioning jQuery按钮可见性切换不起作用 jQuery
【发布时间】:2017-12-18 08:47:00
【问题描述】:

我正在尝试编写一些不可见的按钮,只有在您将鼠标悬停在它们上方时才会出现。当鼠标离开按钮所在的位置时,它应该回到隐藏状态。我尝试过的所有方法——我在下面列出的——似乎都不起作用。首先,我尝试更改失败的 css 属性,然后切换类也不起作用。

*EDIT,现在我可以允许用户在将鼠标悬停在其上方时单击按钮,然后该按钮将被选中并保持可见

html

<div id="container">
      <div id="overlay">
        <form action="">
          <input type="button" name="b" id="w1" class="data hidden"/>
          <input type="button" name="b" id="w2" class="data hidden"/>
          <input type="button" name="b" id="w3" class="data hidden"/>
          <input type="button" name="b" id="w4" class="data hidden"/>
          <input type="button" name="b" id="b1" class="data hidden"/>
          <input type="button" name="b" id="b2" class="data hidden"/>
          <input type="button" name="b" id="b3" class="data hidden"/>
          <input type="button" name="b" id="b4" class="data hidden"/>
          <input type="button" name="b" id="r1" class="data hidden"/>
          <input type="button" name="b" id="r2" class="data hidden"/>
          <input type="button" name="b" id="r3" class="data hidden"/>
          <input type="button" name="b" id="r4" class="data hidden"/>
          <input type="button" name="b" id="g1" class="data hidden"/>
          <input type="button" name="b" id="g2" class="data hidden"/>
          <input type="button" name="b" id="g3" class="data hidden"/>
          <input type="button" name="b" id="g4" class="data hidden"/>
          <input type="button" id="continue" value="continue" class="control"/>
          <input type="button" id="replay" value="replay" class="control"/>
        </form>
      </div>
      <div id="base">
        <img id="myImage">
      </div>
    </div>

css

#container {
  position: relative;
}
#overlay {
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 10;
}
#base {
  width: 500px;
  height: 500px;
  left: 400px;
}  
.data {

}
.hidden {
  opacity: 0;
}
.hidden:hover {
  opacity: 1;
}

【问题讨论】:

  • 无法在不可见元素上触发事件
  • 您能进一步解释一下吗?
  • 隐藏的元素不是由处理器“计算”的,使用另一种方式隐藏(也许是不透明度/调整大小/覆盖)
  • 啊,我明白了,我在 StackOverFlow 上搜索时没有看到那个帖子;认为这是一个 Jquery/Javascript 问题。

标签: javascript jquery html css


【解决方案1】:

在您的问题中 .invisible 无法触发任何事件。请参阅 sn-p。您可以使用 opacitywidthheight 0 。尝试单击但没有元素可以单击

错误

a{
color:red;
display:none;
}
a:hover{
color:green
}
&lt;a class="p" onclick="console.log('ssx')"&gt;assdsds&lt;/a&gt;

【讨论】:

  • 你能看到我更新的问题吗?我编辑了我的帖子。
【解决方案2】:

您可以改用opacity 吗?

#container {
  position: relative;
}

#overlay {
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 10;
}

#base {
  width: 500px;
  height: 500px;
  left: 400px;
}

.hidden {
  opacity: 0;
}

.hidden:hover {
  opacity: 1;
}
<div id="container">
  <div id="overlay">
    <form action="">
      <input type="button" name="b" id="w1" class="data hidden" />
      <input type="button" name="b" id="w2" class="data hidden" />
      <input type="button" name="b" id="w3" class="data hidden" />
      <input type="button" name="b" id="w4" class="data hidden" />
      <input type="button" name="b" id="b1" class="data hidden" />
      <input type="button" name="b" id="b2" class="data hidden" />
      <input type="button" name="b" id="b3" class="data hidden" />
      <input type="button" name="b" id="b4" class="data hidden" />
      <input type="button" name="b" id="r1" class="data hidden" />
      <input type="button" name="b" id="r2" class="data hidden" />
      <input type="button" name="b" id="r3" class="data hidden" />
      <input type="button" name="b" id="r4" class="data hidden" />
      <input type="button" name="b" id="g1" class="data hidden" />
      <input type="button" name="b" id="g2" class="data hidden" />
      <input type="button" name="b" id="g3" class="data hidden" />
      <input type="button" name="b" id="g4" class="data hidden" />
      <input type="button" id="continue" value="continue" class="control" />
      <input type="button" id="replay" value="replay" class="control" />
    </form>
  </div>
  <div id="base">
    <img id="myImage">
  </div>
</div>

【讨论】:

  • 有没有办法用 jQuery/javascript 做到这一点?
  • @AlexKer 使用visibility 属性?或使用opacity?
  • 这有什么不同吗?我的问题是有没有办法使用 Jquery 和 Javascript 来完成它
  • @AlexKer 公平地说,您标记了您的问题CSS 并说这是您尝试过但失败的方法。您使用的哪个属性会有所不同,请参阅此问题 --> stackoverflow.com/questions/272360/…
  • 你能看到我更新的问题吗?我忘了包含一项功能。
猜你喜欢
  • 1970-01-01
  • 2013-05-13
  • 2010-11-21
  • 1970-01-01
  • 2011-12-15
  • 1970-01-01
  • 2021-11-02
  • 2012-04-28
  • 1970-01-01
相关资源
最近更新 更多