Javascript - 仅使用循环

时间:2017-07-26 22:12:14

标签: javascript closures

所以这是我的代码:

for(var i = 0; i < clickCell.length; i++) {
  clickCell[i].addEventListener("click", function(x) {
    showModal(i);
  });
}

function showModal(x) {
  switch (x) {
    case 1:
      image.style.background = "url('image1.jpg') center/cover no-repeat";
      break;
    case 2:
      image.style.background = "url('image2.jpg') center/cover no-repeat";
      break;
    case 3:
      image.style.background = "url('image3.jpg') center/cover no-repeat";
      break;
    default:
      break;
  }
  modal.style.display = "block";
}

我尝试做的是根据表元素中单击的单元格显示具有不同图像的模态。 for循环为表中的每个单元格添加一个事件侦听器。 showModal()函数根据单击的单元格选择应显示哪个图像。我的问题是,似乎只有循环计数器的最后一次迭代我作为showModal()的参数传递。现在从我搜索到的内容来看,解决方案似乎与关闭有关。我已经完成了一些阅读,但我似乎无法在脑海中建立联系。如果有人能解释我如何能够使这段代码工作并帮助我理解关闭,那将非常感激。

0 个答案:

没有答案