javascript - 设置innerHTML之间的过渡
问题描述
需要在 innerHTML 上添加淡入淡出过渡。
我环顾四周,但没有找到解决方案来实现这一点。
我希望在 innerHTML 文本之间具有淡入淡出效果。
var h2text = ["First h2", "Second H2"];
var counter = 0;
var h2 = document.getElementById("changeH2");
var inst = setInterval(change, 2000);
function change() {
h2.innerHTML = h2text[counter];
counter++;
if (counter >= h2text.length) {
counter = 0;
}
}
<h2 id="changeH2"></h2>
解决方案
您可以通过在文本更改时淡入和淡出元素来利用 CSS 类和过渡来执行此操作。我还包括另一个超时。
var h2text = ["First h2", "Second H2"];
var counter = 0;
var h2 = document.getElementById("changeH2");
var inst = setInterval(change, 2000);
function change() {
h2.classList.add('fade');
setTimeout(function(){
h2.innerHTML = h2text[counter];
h2.classList.remove('fade');
counter++;
if (counter >= h2text.length) {
counter = 0;
}
}, 500);
}
h2{
transition: opacity .5s ease;
}
.fade{
opacity: 0;
}
<h2 id="changeH2"></h2>
推荐阅读
- jekyll - 我可以在 Jekyll 布局中访问页面的目录吗?
- gradle - 从 Gradle 5.1.1 升级到 6.0.1 会破坏 Kotlin 多平台构建
- sql - 在一行中查找第 2、第 3、第 4、第 5 个非 NULL 值(SQL)
- wordpress - 删除插件停用 wordpress 上的类别
- ios - 日期格式化程序解析 JSON 日期
- python - 如何检查两个变量之一是否为空?就像如果 (mask1 | mask2) 为无:
- javascript - React Display Route Container 没有页眉和页脚
- regex - 用特殊字符替换制表符和数字
- c++ - 在接口中使用泛型指针的原因/正确情况是什么
- image-processing - 如何处理嵌入在电子邮件中的图像并调整大小