javascript - 如何给已有的js代码添加淡入淡出效果

标签 javascript jquery html css

基本上我有这段代码 Hook 到网站中的某个元素并覆盖它的内容。在此示例中,它覆盖现有文本以使其经常更改。但是,当它循环浏览预设文本行时,它只是在没有动画的情况下跳跃。是否可以在预设文本之间添加淡入淡出动画?

代码如下:

    var text = ["Question Everything!", "Envision the future!", "Change your perspective!"];
    var counter = 0;
    var elem = document.getElementById("slogantxt");
    setInterval(change, 3500);

    function change() {
      elem.innerHTML = text[counter];
      counter++;
    if(counter >= text.length) { counter = 0; }
   }

最佳答案

CSS3 @keyframes 动画在这里会轻很多。

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

.fadeOutIn {
  animation-name: fadeOutIn;
  animation-duration: 200ms;
 }

然后在更改内部 HTML 时简单地删除并重新添加该类。

编辑:为简单起见,我省略了必要的 -webkit- 前缀。不要忘记!

关于javascript - 如何给已有的js代码添加淡入淡出效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36734287/

相关文章:

jquery - 当鼠标悬停在不同的 div 上时更改 div 中的图像?

javascript - 如何从Jquery正确调用JS

javascript - JSP 属性 JSON 对象在 Javascript 中删除转义字符

javascript - 具有相似结构的div仅在单击一个时都会起作用

Jquery图像一张一张淡入淡出?

javascript - "muted"和 "volume = 0.0"是一样的吗?事件监听器以不同的方式对待它们

javascript - JS - 从给定目录获取文件和目录列表

javascript - 调整窗口大小时如何添加/删除类?

jQuery hide() 不隐藏 div

javascript - 一个简单的不显眼的 JavaScript 示例