javascript - 使用 onclick addClass 让 div 出现

标签 javascript jquery css

我正在尝试执行添加了显示类的 onclick 事件,但是,当单击“创建新目标”时,我无法让我的 new-goal-container 出现。

我不希望这是一个切换,只是一个添加类。正如我的代码所示,我试图让它用 css 快速淡入外观。有没有更好的方法,因为现在即使没有显示 div 仍然占用空间,当容器不可见时,我希望它看起来好像不存在。

$("#new-goal-button").click(function() {
  $("#new-goal-container").addClass("show");
});
#new-goal-container {
  -webkit-opacity: 0;
  opacity: 0;
  margin-top: 30px;
  border: 1px solid black;
  height: 500px;
  width: 400px;
  padding: 10px;
}
.show {
  -webkit-opacity: 1;
  opacity: 1;
  -webkit-transition: all 1s ease-in-out;
  transition: all 1s ease-in-out;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="new-goal-button">Create new goal</div>
<div id="new-goal-container">
  <input type="text" placeholder="Goal Title">
  <textarea placeholder="Goal Description">
</div>

最佳答案

问题是由于 id 选择器比 class 选择器更具体。因此,opacity: 0 覆盖 opacity: 1。将 idclass 选择器一起添加,使它们比单独的原始 id 选择器具有更高的特异性。

另请注意,您的 textarea 元素需要一个结束标记,transition 规则最好位于元素的基本规则上,并且仅适用于 opacity 规则,最后不再需要 -webkit- vendor 前缀。

$("#new-goal-button").click(function() {
  $("#new-goal-container").addClass("show");
});
#new-goal-container {
  opacity: 0;
  margin-top: 30px;
  border: 1px solid black;
  height: 500px;
  width: 400px;
  padding: 10px;
  transition: opacity 1s ease-in-out;
}
#new-goal-container.show {
  opacity: 1;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="new-goal-button">Create new goal</div>
<div id="new-goal-container">
  <input type="text" placeholder="Goal Title">
  <textarea placeholder="Goal Description"></textarea>
</div>

这也是 jsFiddle 中的一个工作示例,因为 SO 片段目前似乎已损坏:

Working example

关于javascript - 使用 onclick addClass 让 div 出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40363635/

相关文章:

php - 如何将图像从 cropit 导出到 php 以进行上传?

css - 使用 CSS 设置复选框的格式和位置

html - 保持视口(viewport)在同一高度

javascript - Web 组件内容未呈现

javascript - Bootstrap 确认主模态后面的模态

javascript - 将事件类添加到当前元素

html - 在 div 上居中元素

javascript - 长方程与覆盖变量

javascript - 如何使用 Bootstrap 为点击的元素创建具有滚动和溢出功能的 Facebook 固定侧边栏?

javascript - 单击 anchor 时显示 flowplayer div