首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Toastr多重div

Toastr多重div
EN

Stack Overflow用户
提问于 2018-04-11 14:20:47
回答 1查看 570关注 0票数 0

我有多个包含自定义css toastr通知的div,我需要帮助的是每次加载页面时显示随机的div,或者通过代码使用toastr --甚至是如何用相同的方式来实现它,任何帮助都会受到css或js的赞赏,这是我一直在尝试的,但没有运气,而且我也尝试过使用数学(),但是它要么同时显示所有的div,要么不工作……它是否可以选择特定的div并且只显示给他看,同时隐藏其他的div呢?

代码语言:javascript
复制
#toastr {
  font-size: 21px;
  text-align: center;
  transition: opacity 1s 1s;
  position: fixed;
  z-index: 999999;
  pointer-events: none;
  z-index: 1;
  bottom: 12px;
  left: 12px;
  font-size: 17px;
  animation: fadeins 5s linear forwards;
  opacity: 0;
}

#toastr a {
  color: white;
  text-decoration: none;
}

#toastr>div {
  position: relative;
  pointer-events: auto;
  overflow: hidden;
  margin: 0 0 6px;
  padding: 15px 15px 15px 15px;
  width: 300px;
  border-radius: 3px 3px 3px 3px;
  background-position: 15px center;
  background-repeat: no-repeat;
  box-shadow: 0 0 12px #999999;
  color: #FFFFFF;
  opacity: 1;
}

.toastr-success {
  background-color: #51A351;
}

@keyframes fadeins {
  0%,
  100% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
}

@keyframes fadein {
  from {
    opacity: 0;
    bottom: -5px;
  }
  to {
    opacity: 1;
    bottom: 12px;
  }
}

@keyframes fadeout {
  from {
    opacity: 1;
    bottom: 12px;
  }
  to {
    opacity: 0;
    bottom: 0;
  }
}
代码语言:javascript
复制
<div class="views-row views-row-2 views-row-even random-popup">
  <div class="views-field views-field-nothing">
    <span class="field-content">
      <div id="toastr" class="toastr">
        <div class="toast toastr-success" aria-live="polite">
          <div class="toast-message"><a href="#">message1</a>.</div>
        </div>
      </div>
    </span>
  </div>
</div>
<div class="views-row views-row-3 views-row-even random-popup">
  <div class="views-field views-field-nothing">
    <span class="field-content">
      <div id="toastr" class="toastr">
        <div class="toast toastr-success" aria-live="polite">
          <div class="toast-message"><a href="#">message2</a>.</div>
        </div>
      </div>
    </span>
  </div>
</div>

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-11 14:51:33

由于您有一个名为随机弹出的类,您可以将它们设置为最初没有显示,然后使用另一个类可能称为active,将显示设置为块。

代码语言:javascript
复制
.random-popup {
  display: none;
}
.random-popup.active {
  display: block;
}

然后,使用一些简单的Javascript,通过添加active类来设置其中的一个随机可见。

代码语言:javascript
复制
var popups = document.querySelectorAll(".random-popup");
popups[Math.trunc(Math.random() * popups.length)].classList.add("active");

例如..。

代码语言:javascript
复制
var popups = document.querySelectorAll(".random-popup");

popups[Math.trunc(Math.random() * popups.length)]
  .classList.add("active");
代码语言:javascript
复制
#toastr {
  font-size: 21px;
  text-align: center;
  transition: opacity 1s 1s;
  position: fixed;
  z-index: 999999;
  pointer-events: none;
  z-index: 1;
  bottom: 12px;
  left: 12px;
  font-size: 17px;
  animation: fadeins 5s linear forwards;
  opacity: 0;
}

#toastr a {
  color: white;
  text-decoration: none;
}

#toastr>div {
  position: relative;
  pointer-events: auto;
  overflow: hidden;
  margin: 0 0 6px;
  padding: 15px 15px 15px 15px;
  width: 300px;
  border-radius: 3px 3px 3px 3px;
  background-position: 15px center;
  background-repeat: no-repeat;
  box-shadow: 0 0 12px #999999;
  color: #FFFFFF;
  opacity: 1;
}

.toastr-success {
  background-color: #51A351;
}

@keyframes fadeins {
  0%,
  100% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
}

@keyframes fadein {
  from {
    opacity: 0;
    bottom: -5px;
  }
  to {
    opacity: 1;
    bottom: 12px;
  }
}

@keyframes fadeout {
  from {
    opacity: 1;
    bottom: 12px;
  }
  to {
    opacity: 0;
    bottom: 0;
  }
}

.random-popup {
  display: none;
}

.random-popup.active {
  display: block;
}
代码语言:javascript
复制
<div class="views-row views-row-2 views-row-even random-popup">
  <div class="views-field views-field-nothing">
    <span class="field-content">
      <div id="toastr" class="toastr">
        <div class="toast toastr-success" aria-live="polite">
          <div class="toast-message"><a href="#">message1</a>.</div>
        </div>
      </div>
    </span>
  </div>
</div>
<div class="views-row views-row-3 views-row-even random-popup">
  <div class="views-field views-field-nothing">
    <span class="field-content">
      <div id="toastr" class="toastr">
        <div class="toast toastr-success" aria-live="polite">
          <div class="toast-message"><a href="#">message2</a>.</div>
        </div>
      </div>
    </span>
  </div>
</div>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49777562

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档