javascript - javascript:获取存储在图像数组中的单击图像的索引
问题描述
我制作了一个弹出图像滑块,当单击该图像的缩略图时,会弹出带有该图像的弹出窗口。我需要找到一种方法来获取我的“imgArr”中单击图像的索引,然后在该当前索引处开始幻灯片。我的代码使滑块从当前单击的图像返回到索引 1 然后 2 依此类推...无论我单击什么图像,它总是从索引 0 开始
额外信息:我的 imgArr 变量根据当前所在的页面更改其数组。所以还有 3 个其他变量包含不同类型的图像,但这些变量会更新为 imgArr,因此 javascript 可以决定在哪里发布图像。
let imgArr;
var current = 0;
rightArrow.addEventListener('click', slideRight);
function slideRight(){
popImg.setAttribute('src', imgArr[current + 1]);
current++;
if(current > imgArr.length){
current = 0;
}
}
解决方案
据我了解,您有一组图像,并且您希望返回单击的图像的索引。
不幸的是,我现在不在家进行测试,但我相信它应该可以满足您的需求。
var images = document.getElementsByTagName('img');
for(var i = 0; i < images.length; i++) {
images[i].onclick = function (img) {
var index = imgArr.findIndex(image => image === img.src);
console.log(index + ' clicked.');
}
}
推荐阅读
- z3 - 检查一阶逻辑可满足性的工具/语言?
- azure-devops - Azure Devops 构建和发布中的最大变量数
- bash - 为什么在 bash 脚本中导出 env var 不会影响 env?
- java - 如何使用 selenium webdriver 选择完整的段落?
- javascript - 如何在手风琴 react-native 中渲染复杂对象
- javascript - 检查所选选项是否没有值,跨多个选择字段
- django - ImportError:无法从“django.utils”导入名称“六”
- javascript - 无法关闭电子窗口
- sql - 在 oracle SQL 中格式化日期
- react-redux - Next.js+Redux 认证和重定向