我正在写一些非常简单的代码来动态改变鼠标悬停/鼠标移开图片src:的JavaScript动态改变图片src
function e(id) {
return document.getElementById(id);
}
function changeimg_bw(ele) {
e(ele).src='rating_bw.png';
}
function changeimg_color(ele)
e(ele).src='rating_color.png';
}
for(var i=1;i<=5;i++) {
var img ='rating'+i;
e(img).addEventListener('mouseover', function(event) {
changeimg_color(img);
});
e(img).addEventListener('mouseout', function(event) {
changeimg_bw(img);
});
}
的想法很简单:使用像阵列模拟评分吧。当一些图像被鼠标指针覆盖时,它应该改变颜色(理想情况下,包括所有先前的图像应该改变颜色,但是在到达之前我被卡住了)。我的问题是,当我将鼠标悬停在任何图像上时,只有最后一张图像会改变颜色('rating5')。看看我== 5它的eventlistener覆盖所有其他eventlistener(我= 1,2,3,4)?委托事件......以这样的方式
'匿名侦听器函数内img'指' (包含最后一个赋值:'rating5')。尝试用'changeimg_color(this.id)'替换'changeimg_color(img);'或者只传递'this'(图像产生鼠标事件)到'change *'函数省略'e()'wrappe河 – jensgram