首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >每秒钟更换图像src

每秒钟更换图像src
EN

Stack Overflow用户
提问于 2018-11-12 12:42:59
回答 1查看 68关注 0票数 0

我有4张图片,我想用下面的逻辑制作一个滚动体。每个要素必须:

  1. 弹出窗口
  2. 变大
  3. 变小(回到以前的状态)
  4. 消失

我决定为此制作4个不同的动画,并将它们分配给4个不同的类。我需要的是使它无止境,所以我想出主意,每秒钟改变图像src。代码是我写的,但不起作用。什么都不会发生,也不会有任何错误。

代码语言:javascript
复制
document.addEventListener('DOMContentLoaded', function() {
  setInterval(function() {
    for (var n = 1; n <= 4; n++) {
      if (n == 4) {
        document.getElementsByClassName('animation-slide-4')[0].alt = 'im1';
      } else {
        document.getElementsByClassName('animation-slide-' + n.toString())[0].alt = 'im' + (n + 1).toString();
      }
    }
  }, 1000);
}, false);
代码语言:javascript
复制
@keyframes animation-1 {
  from {
    top: 0px;
    opacity: 0;
  }
  to {
    top: 30px;
    opacity: 0.3;
  }
}

@keyframes animation-2 {
  from {
    top: 30px;
  }
  to {
    opacity: 1;
    top: 70px;
    width: 400px;
  }
}

@keyframes animation-3 {
  from {
    opacity: 1;
    top: 70px;
    width: 400px;
  }
  to {
    opacity: 0.3;
    top: 110px;
    width: 300px;
  }
}

@keyframes animation-4 {
  from {
    opacity: 0.3;
    top: 110px;
  }
  to {
    opacity: 0;
    top: 140px;
  }
}
代码语言:javascript
复制
<img class="slide slide-img animation-slide-1" src="img/1.png" alt="im1"><br>
<img class="slide slide-img animation-slide-2" src="img/2.png" alt="im2"><br>
<img class="slide slide-img animation-slide-3" src="img/4.png" alt="im3"><br>
<img class="slide slide-img animation-slide-4" src="img/3.png" alt="im4"><br>

EN

回答 1

Stack Overflow用户

发布于 2018-11-12 13:45:35

代码语言:javascript
复制
document.addEventListener('DOMContentLoaded', function() {
    function myFunc(n) {
      document.getElementsByClassName('animation-slide-' + n.toString())[0].src = 'img/' + (n + 1).toString() + '.png';
}

  function myFunc1() {
             document.getElementsByClassName('animation-slide-4')[0].src = 'img/1.png';
}
setInterval(function() {
    for (var n = 1; n <= 4; n++) {
      if (n == 4) {
      var m =700;
 setInterval(myFunc1(),m);
 m=m+700;
      } else {
    
        
      setInterval(myFunc(n),m);
       m=m+700;
               
      }
    }
  },1000);
}, false);
代码语言:javascript
复制
@keyframes animation-1 {
  from {
    top: 0px;
    opacity: 0;
  }
  to {
    top: 30px;
    opacity: 0.3;
  }
}

@keyframes animation-2 {
  from {
    top: 30px;
  }
  to {
    opacity: 1;
    top: 70px;
    width: 400px;
  }
}

@keyframes animation-3 {
  from {
    opacity: 1;
    top: 70px;
    width: 400px;
  }
  to {
    opacity: 0.3;
    top: 110px;
    width: 300px;
  }
}

@keyframes animation-4 {
  from {
    opacity: 0.3;
    top: 110px;
  }
  to {
    opacity: 0;
    top: 140px;
  }
}
代码语言:javascript
复制
<img class="slide slide-img animation-slide-1" src="img/1.png" alt="im1"><br>
<img class="slide slide-img animation-slide-2" src="img/2.png" alt="im2"><br>
<img class="slide slide-img animation-slide-3" src="img/4.png" alt="im3"><br>
<img class="slide slide-img animation-slide-4" src="img/3.png" alt="im4"><br>

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

https://stackoverflow.com/questions/53262450

复制
相关文章

相似问题

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