javascript - 如何允许数组中的不同图像链接到不同的 url 网页
问题描述
我想将数组中的不同图像链接到不同的 url。图像将每 2 秒随机一次。但是,我想确保每张图片都有其唯一的网址。到目前为止,我只能链接到一个网址。
在这方面需要帮助,谢谢。
//start with id=0 after 2 seconds
var thisId = 0;
$(function(){
//prepare Your data array with img urls
var dataArray=new Array();
dataArray[0]="cat1.jpg";
dataArray[1]="cat2.jpg";
dataArray[2]="cat3.jpg";
window.setInterval(function(){
var randomNum = Math.floor(Math.random() * dataArray.length);
if (thisId==randomNum){randomNum++;};
if (randomNum==3){randomNum=0};
thisId=randomNum;
document.getElementById("thisImg").src = dataArray[randomNum]
},2000);
});
<!DOCTYPE html>
<html>
<head>
<title>Task 2</title>
<!-- calling external js file -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
</head>
<body>
<a href="https://www.petco.com/shop/en/petcostore/category/cat" target="_blank"><img id="thisImg" alt="img" src="cat1.jpg" /></a>
<script src ="Task2.js"></script>
</body>
</html>
解决方案
您可以将数据设为对象数组,如下所示:
dataArray = [
{
image: "cat1.jpg"
url: "link_for_cat_1.html"
}
...
]
然后,在随机化和选择给定元素之后:
document.getElementById("thisImg").src = dataArray[randomNum].image
并类比链接
document.getElementById("thisLink").href = dataArray[randomNum].url
推荐阅读
- javascript - 如何迭代对象以获得不同的结果?
- javascript - 如何在javascript中显示下拉菜单
- reactjs - 即使是状态 200,我的更新数据也不会反映
- android - 如何使用改造从 POST 响应中显示列表?
- python - 读取具有不同数据类型和列顺序的多个镶木地板文件
- wpbakery - WPbakery 页面构建器卡在厨师帽图标上,不允许编辑
- maven - Intellij 未显示本地库
- api - 将 api 作为窗口服务托管时出现 Net core 3.1 异常
- node.js - 在 Node js Express 应用程序中处理多个用户
- python - 对于多类分类的 RNN 序列,我可以使用什么损失函数?