因此,我得到了嵌入了不同图像的多个div。每个人都有其独特的名字属性。我试图通过更改图像源将悬停效果应用于每个div。我不想编写多个脚本,而是试图编写一个会影响每个div的脚本块。如何使用div元素的名称来赋值变量
<div id="div1" >
<img id="img1" name="img1" src="img1_up.jpg" />
</div>
<div id="div2">
<img id="img2" name="img2" src="img2_up.jpg" />
</div>...and so on
现在,这里是我现在有用于滚动效果
<script>
var var1 = document.getElementById("div1");
var1.addEventListener("mouseover", changeImage1);
var1.addEventListener("mouseout", restoreImage1);
function changeImage1() {
document.getElementById("img1").src = "img1_ro.jpg";
}
function restoreImage1() {
document.getElementById("img1").src = "img1_up.jpg";
}
var var2 = document.getElementById("div2");
var2.addEventListener("mouseover", changeImage2);
var2.addEventListener("mouseout", restoreImage2);
function changeImage2() {
document.getElementById("img2").src = "img2_ro.jpg";
}
function restoreImage2() {
document.getElementById("img2").src = "img2_up.jpg";
}...and so on
</script>
我想使用的名称从每个图像属性来创建动态代码适用于所有图像的脚本。这是我的想法,但不确定写它的确切方式。请帮助
...
var dynamicVar = ????
dynamicVar.addEventListener("mouseover", changeImage();
dynamicVar.addEventListener("mouseout", restoreImage();
function changeImage() {
document.getElementById(dynamicVar).src = dynamicVar + "_ro.jpg";
}
function restoreImage() {
document.getElementById(dynamicVar).src = dynamicVar + "_up.jpg";
}
我会建议使用一类和你会使用'getElementsByClassName方法()',你也可以使用一个for循环应用事件监听器到每一个。 – NewToJS