我在javascript中有一个鼠标悬停功能,还有一个可点击的div,就是当我点击图片时,没有任何事情发生,但在图像之外它完美无缺。
<div id="1" onclick="SendRating(this.id);" onmouseover="rateStar(this.id)" ><img src="star.jpg"></div>
我的鼠标功能。
function rateStar(rating){
var i = 1;
var ratings = '';
for (i==1; i<=5; i++){
if (i<=rating){
document.getElementById(i).innerHTML = '<img src="star1.gif">';
}
else{
document.getElementById(i).innerHTML = '<img src="star.jpg">';
}
}
}
感谢
答案 0 :(得分:2)
ID不能以数字开头。制作代码:
<div id="rating_1" score='1' onclick="SendRating(this.getAttribute('score'));" onmouseover="rateStar(this.id)" ><img src="star.jpg"></div>
并将您的javascript更改为
function rateStar(rating){
var i = 1;
var ratings = '';
for (i==1; i<=5; i++){
if (i<=rating){
document.getElementById('rating_'+i).innerHTML = '<img src="star1.gif">';
}
else{
document.getElementById('rating_'+i).innerHTML = '<img src="star.jpg">';
}
}
}
这可能无法解决您的问题,但无论如何您都需要这样做。另外,考虑将onclick事件移动到图像本身:
<div><img src="star.jpg" score='1' id="rating_1" onclick="SendRating(this.getAttribute('score'));" ></div>
并将你的js改为:
function rateStar(rating){
var i = 1;
var ratings = '';
for (i==1; i<=5; i++){
if (i<=rating){
document.getElementById('rating_'+i).src= 'star1.gif';
}
else{
document.getElementById('rating_'+i).src= 'star.jpg';
}
}
}
所以你只是改变了图像源