繁体   English   中英

如何从一个类的数组推送到javascirpt中的另一个数组?

[英]how to push from one array of class to another array in javascirpt?

我有一个带有class =“ btn”的图像数组。 单击后,侦听器将使用图像arr中的图像随机替换btn.src。

然后,我需要将random-selected-item.src存储在数组中以进行进一步的操作。 我能够将图像随机插入btn类,但不知道每次如何获取随机选择的项目并将其推入数组以进行进一步操作。

简而言之,我正在尝试检查两个选定的项目是否具有相同的src。

var x = document.getElementsByClassName('btn');
for (var i = 0; i < x.length; i++) {
  x[i].addEventListener('click', feedImages);
}


function feedImages(e) {
    var images = ["image/1.png",
                  "image/2.png",
                  "image/3.png",
                  "image/4.png",
                  "image/5.png",
                  "image/6.png"];

    var img = document.createElement("img");
    img.src = images[Math.floor(Math.random()*images.length)];
  document.getElementsByClassName("result").appendChild(img);

};

//如何抓取this.img.src并每次将它们推入新数组中,这样我将得到类似

var newArr["selectedImage.png", ....];

用户单击任何项​​目后

HTML看起来很简单。 触发后,SRC会随机更改为新图像。

<img class="btn" src="btn.png">
<img class="btn" src="btn.png">
<img class="btn" src="btn.png">
<img class="btn" src="btn.png">
<img class="btn" src="btn.png">

通过使用随机数作为images数组的索引,并使用它来推送newArrnewArr ,您可以轻松img.src

 var x = document.getElementsByClassName('btn'); for (var i = 0; i < x.length; i++) { x[i].addEventListener('click', feedImages); } var newArr = []; function feedImages(e) { var images = ["image/1.png", "image/2.png", "image/3.png", "image/4.png", "image/5.png", "image/6.png"]; var img = document.createElement("img"); var randomVal = Math.floor(Math.random()*images.length); newArr.push(images[randomVal]); img.src = images[randomVal]; document.getElementsByClassName("result")[0].appendChild(img); console.log(newArr); }; 
 <img class="btn" src="btn.png"> <img class="btn" src="btn.png"> <img class="btn" src="btn.png"> <img class="btn" src="btn.png"> <img class="btn" src="btn.png"> <div class='result'></div> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM