Javascript:如何动态定位变量

标签 javascript variables

所以我有一组以数字结尾的变量,我想定位每个变量并动态删除和添加一个类。我似乎无法弄清楚,有什么想法吗?

var img1 = document.getElementById('img1'),
    img2 = document.getElementById('img2'),
    img3 = document.getElementById('img3'),
    img4 = document.getElementById('img4');
    counter = 0;

 for(i=1; i < 5; i++){
        counter++;
        img+counter.classList.remove('hideImg');
        img+counter.classList.add('showImg');
}

最佳答案

将图像存储在数组或对象中并迭代元素 - 您可以通过它们的索引或键访问它们。

这是一个带有数组的示例:

var img1 = document.getElementById('img1'),
img2 = document.getElementById('img2'),
img3 = document.getElementById('img3'),
img4 = document.getElementById('img4');

var images = [img1, img2, img3, img4];

for (var i = 0; i < images.length; i++) {
  images[i].classList.remove('hideImg');
  images[i].classList.add('showImg');
}

这是一个带有对象的示例:

var img1 = document.getElementById('img1'),
img2 = document.getElementById('img2'),
img3 = document.getElementById('img3'),
img4 = document.getElementById('img4');

var images = {
  img1: img1,
  img2: img2,
  img3: img3,
  img4: img4
};

for (imagekey in images) {
  images[imageKey].classList.remove('hideImg');
  images[imageKey].classList.add('showImg');
}

这是一个带有数组的示例,一次仅显示一张图像,其间存在延迟:

var img1 = document.getElementById('img1'),
img2 = document.getElementById('img2'),
img3 = document.getElementById('img3'),
img4 = document.getElementById('img4');

var images = [img1, img2, img3, img4];
var i = 0;

setInterval(cycleImage, 3000);

function cycleImage() {
  images[i].classList.remove('hideImg');
  images[i].classList.add('showImg');
  if (i === images.length) {
    i = 0;
  } else {
    i++;
  }
}

关于Javascript:如何动态定位变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42080120/

相关文章:

JavaScript变量和同一个变量也是一个对象

c - 在c中如何将char转换为int?

r - 在 dplyr 中使用变量列名 (do)

javascript - 只有在父组件的异步方法完成后才渲染子组件

javascript - 使用 slider 值更新函数中的 var

javascript - 为什么 Qunit 无法捕获我正在运行的 2 个以上测试?

java - 不确定是否使用两个变量执行计算

javascript - 检查 selenium 中的 javascript 错误

javascript - 如何测试函数是否使用 async 关键字调用

c - R: 如何让.C 调用更新输出变量?