javascript - 在javascript中添加过渡到更改文本
问题描述
我有下面的代码来更改间隔的文本。我想在更改文本时为不透明度添加过渡。还有其他答案使用 jquery 的淡入和淡出方法,但不适用于给定的 javascript 代码。
var text = ["Welcome", "Hi", "Sup dude"];
var counter = 0;
var elem = document.getElementById("changeText");
var inst = setInterval(change, 1000);
function change() {
elem.innerHTML = text[counter];
counter++;
if (counter >= text.length) {
counter = 0;
// clearInterval(inst); // uncomment this if you want to stop refreshing after one cycle
}
}
<div id="changeText"></div>
更新代码
function change() {
elem.innerHTML = text[counter];
document.getElementById('s2main').style.opacity = 1;
counter++;
if (counter >= text.length) {
counter = 0;
// clearInterval(inst); // uncomment this if you want to stop refreshing after one cycle
}
}
添加了 CSS
#changetext{
opacity:0;
transition: opacity 400ms
过渡仅适用于第一个文本,并且过渡需要 3 秒。
解决方案
最简单的方法是使用 css 转换:
#changeText {
transition: opacity 400ms;
}
然后您可以使用 JS 设置不透明度值,甚至可以删除/添加不同的类来加速或删除效果。
由于您标记了 jQuery 但似乎没有使用任何标签,因此 jQuery 内置了淡入淡出动画:
$('#changeText').finish().fadeTo(300, 0, function() {
// do stuff
// fade back in again
$('#changeText').finish().fadeTo(300, 1);
});
推荐阅读
- docker - Docker device-cgroups-rule、mknod 和 mount
- python - 未找到密钥时返回 None 的多级 dict
- python - 使用 Apache Beam 在 GCP DataflowRunner 上没有名为“IPython”的模块
- swift - SwiftUI @Published 仅在执行另一个“任务”后更新值
- google-sheets - Google 电子表格图表未正确从表格中提取信息
- python - 如何通过 API 调用从对象中提取信息?
- excel - 如何在 Excel 中使用 VBA 打印所有工作表?我的代码的行为不像我认为的那样
- python - 无法理解 csv.reader
- php - 准备好的语句 mysqli SELECT * FROM users
- python - 限制要删除的项目数 sqlite python