javascript - 使用 javascript 单击时隐藏和显示相同的元素

标签 javascript html css

我正在尝试隐藏一个栏,然后单击一下再次显示。重新添加类(class)时是否需要暂停一些时间?

var button = document.querySelector('.btn');

button.addEventListener('click', function() {

  document.querySelector('.bar').classList.remove('animateBar');
  document.querySelector('.bar').classList.add('animateBar');


});
* {
  padding: 0;
  margin: 0;
}

.wrap {
  width: 100%;
  height: 100vh;
  overflow: hidden;
  position: relative
}

.bar {
  position: absolute;
  bottom: 0;
  height: 100px;
  width: 100%;
  background-color: black;
  transform: translateY(100%);
  transition: transform 1s;
}

.animateBar {
  transform: translateY(0);
  transition: transform 1s;
}

.btn {
  position: relative;
  display: block;
  text-align: center;
  cursor: pointer;
}
<div class="wrap">

  <div class="bar animateBar"></div>

  <div class="btn">hide/show</div>

</div>

最佳答案

使用setTimeout()删除和添加类之间

var button = document.querySelector('.btn');

button.addEventListener('click', function() {

  document.querySelector('.bar').classList.remove('animateBar');
  setTimeout(function(){
    document.querySelector('.bar').classList.add('animateBar');
  }, 1000);
  


});
* {
  padding: 0;
  margin: 0;
}

.wrap {
  width: 100%;
  height: 100vh;
  overflow: hidden;
  position: relative
}

.bar {
  position: absolute;
  bottom: 0;
  height: 100px;
  width: 100%;
  background-color: black;
  transform: translateY(100%);
  transition: transform 1s;
}

.animateBar {
  transform: translateY(0);
  transition: transform 1s;
}

.btn {
  position: relative;
  display: block;
  text-align: center;
  cursor: pointer;
}
<div class="wrap">

  <div class="bar animateBar"></div>

  <div class="btn">hide/show</div>

</div>

关于javascript - 使用 javascript 单击时隐藏和显示相同的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49880024/

相关文章:

jquery - 使用 jQuery 获取 DIV 中最后一个 DIV 的 ID

html - 关于不断失控的导航栏

javascript - 将 div 附加到搜索文本框以创建类似 Gmail 的搜索框

javascript - 加载显示div,更改切换元素?

javascript - 在 gulp.dest 之后删除 gulp.src 文件?

javascript - Jquery 带有按钮 Onclick 功能

html - 为什么字体大小会增加输入的宽度

html - 如何仅在悬停子菜单时显示子菜单项?

javascript - 如何使动画 <div> 仅在另一个 <div> 内可见

javascript - 在特定点插入字符但保留标签?