我正在学习javascript,我对changeimage功能有疑问。
我需要更改一张和第二张图片。
这是jsfiddle。
https://jsfiddle.net/7ewjoxnv/1/
以下是javascript:
var switchingImage;
function changeImage()
{
switchingImage.src = this.value;
}
window.onload = function() {
var radios = document.getElementById('imageSwitcher').getElementsByTagName('input');
switchingImage = document.getElementById('imageToSwitch');
for(var i=0;i<radios.length;i++)
{
radios[i].onclick = changeImage;
}
var radios = document.getElementById('imageSwitcher2').getElementsByTagName('input');
switchingImage = document.getElementById('imageToSwitch2');
for(var o=0;o<radios.length;o++)
{
radios[o].onclick = changeImage;
}
}
非常感谢任何帮助。
最诚挚的问候, 大卫!
答案 0 :(得分:1)
第二次执行var radio =
和switchingImage =
时,您正在更改之前的值。
在radios
的情况下,它恰好发生并且不会影响您,因为您已经将想要的侦听器应用于旧的单选按钮。
但是,对于switchingImage
,它会影响您,因为switchingImage
最终将指向document.getElementById('imageToSwitch2')
。因此,当您致电changeImage()
时,它始终会在document.getElementById('imageToSwitch2')
上运行。
这是一种方式,您可以解决您的问题。故意不是最好的解决方案。用它作为基线来改进它。