setattribute 在 setinterval 函数上运行一次

im试图每1秒显示一次随机图像,它是没有src属性的div内的图像:


<div class="D">


<img>   


</div>

这是css代码:


 .D{


  height: 30%;

  width: 30%;

  left: 35%;

  top: 10%;

  position: absolute;


  }

  .D img{


  position: absolute;

  height: 100%;

  width: 100%;


  }

我有一个数组,其中包含来自文件夹的4个不同图像的src,并使用Math random im从0到3选择一个随机数作为数组索引,并使用setinterval重复该函数:


var inp = document.querySelector('.D');

var p = document.querySelector('.D img');

var Src= ['Imgs/home.png','Imgs/gps.png','Imgs/bell.png','Imgs/box.png'];

var RndomFrom0To3 = Math.floor(Math.random()*4);



function ChangeImgSrc() {


p.setAttribute('src',Src[RndomFrom0To3]);



};



setInterval(ChangeImgSrc,1000);

src改变了,但一次,它停止在同一图像中,我做错了什么?


www说
浏览 133回答 1
1回答

心有法竹

您也应该在每次调用中调用随机生成器function ChangeImgSrc() {&nbsp; &nbsp; var RndomFrom0To3 = Math.floor(Math.random()*4);&nbsp; &nbsp; p.setAttribute('src',Src[RndomFrom0To3]);&nbsp; &nbsp; };
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript