javascript - 使这些数组函数更紧凑的任何方法
问题描述
我是 Javascript 的初学者,正在为初学者做 100 多个 JavaScript 项目,目前在第 9 个,Modal 项目。
因此,我必须做到这一点,当您单击图像时,它会显示您刚刚单击的图像,并且我有 16 个图像要单击,这就是我想出的,它有效,但它是超级的很长,所以我想知道如何使它更紧凑或更高效。
var images = [
"images/1.jpg",
"images/2.jpg",
"images/3.jpg",
"images/4.jpg",
"images/5.jpg",
"images/6.jpg",
"images/7.jpg",
"images/8.jpg",
"images/9.jpg",
"images/10.jpg",
"images/11.jpg",
"images/12.jpg",
"images/13.jpg",
"images/14.jpg",
"images/15.jpg",
"images/16.jpg",
];
let i = -1;
var items = document.getElementsByClassName("item-img");
items[0].onclick = function () {
i = 0;
document.getElementById("zoomed-item-img").style.backgroundImage = "url" + "(" + images[i] + ")";
}
items[1].onclick = function () {
i = 1;
document.getElementById("zoomed-item-img").style.backgroundImage = "url" + "(" + images[i] + ")";
}
items[2].onclick = function () {
i = 2;
document.getElementById("zoomed-item-img").style.backgroundImage = "url" + "(" + images[i] + ")";
}
items[3].onclick = function () {
i = 3;
document.getElementById("zoomed-item-img").style.backgroundImage = "url" + "(" + images[i] + ")";
}
items[4].onclick = function () {
i = 4;
document.getElementById("zoomed-item-img").style.backgroundImage = "url" + "(" + images[i] + ")";
}
items[5].onclick = function () {
i = 5;
document.getElementById("zoomed-item-img").style.backgroundImage = "url" + "(" + images[i] + ")";
}
items[6].onclick = function () {
i = 6;
document.getElementById("zoomed-item-img").style.backgroundImage = "url" + "(" + images[i] + ")";
}
items[7].onclick = function () {
i = 7;
document.getElementById("zoomed-item-img").style.backgroundImage = "url" + "(" + images[i] + ")";
}
items[8].onclick = function () {
i = 8;
document.getElementById("zoomed-item-img").style.backgroundImage = "url" + "(" + images[i] + ")";
}
items[9].onclick = function () {
i = 9;
document.getElementById("zoomed-item-img").style.backgroundImage = "url" + "(" + images[i] + ")";
}
items[10].onclick = function () {
i = 10;
document.getElementById("zoomed-item-img").style.backgroundImage = "url" + "(" + images[i] + ")";
}
items[11].onclick = function () {
i = 11;
document.getElementById("zoomed-item-img").style.backgroundImage = "url" + "(" + images[i] + ")";
}
items[12].onclick = function () {
i = 12;
document.getElementById("zoomed-item-img").style.backgroundImage = "url" + "(" + images[i] + ")";
}
items[13].onclick = function () {
i = 13;
document.getElementById("zoomed-item-img").style.backgroundImage = "url" + "(" + images[i] + ")";
}
items[14].onclick = function () {
i = 14;
document.getElementById("zoomed-item-img").style.backgroundImage = "url" + "(" + images[i] + ")";
}
items[15].onclick = function () {
i = 15;
document.getElementById("zoomed-item-img").style.backgroundImage = "url" + "(" + images[i] + ")";
}
解决方案
推荐阅读
- dom - 我无法访问影子 dom CSS 中的插槽
- javascript - 如何将每个电子邮件地址装箱?[Javascript]
- java - 试图找到这个输入的最长回文
- selenium - Selenium 在更改到新标签时抛出奇怪的错误
- python - 如何将 Tensorflow BatchNormalization 与 GradientTape 结合使用?
- html - 需要背景 css 视频帮助
- r - 根据同一数据框中的条件生成其他行
- javascript - 尝试使用 @react-google-maps 对数组中的标记进行聚类时,this.props.children 不是一个函数
- c# - 从动态 ExpandoObject 生成 JSON 字符串
- typescript - 尽管设置了私有属性,Typescript getter 返回 undefined