两个 javascript 'changeimage' 函数,只有一个在工作

Two javascript 'changeimage' functions, only one is working

我正在学习 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;
    }
}

任何帮助将不胜感激。

此致, 大卫!

当您第二次执行 var radio =switchingImage = 时,您正在更改它们之前的值。

radios 的情况下它只是发生并且不会影响你,因为你已经将你想要的侦听器应用到旧的单选按钮。

然而,在 switchingImage 的情况下,它会影响您,因为 switchingImage 最终将指向 document.getElementById('imageToSwitch2')。因此,当您调用 changeImage() 时,它将始终在 document.getElementById('imageToSwitch2').

上运行

这里有一个方法可以解决您的问题。它故意不是最好的解决方案。将其用作改进它的基准。

https://jsfiddle.net/7ewjoxnv/4/