2009-07-22 94 views
0

我的图像翻转作品...但只有一种方法。为什么我的图像会以这种方式滚动?

function heartOver(id) 
{ 

    if(document.getElementById('heart' + id).src == 'images/heart.png'); 
    { 
     parent.document.getElementById('heart' + id).src = 'images/unheart.png'; 
    } 

    if(document.getElementById('heart' + id).src == 'images/unheart.png'); 
    { 
     parent.document.getElementById('heart' + id).src = 'images/heart.png'; 
    } 

} 


<img src="images/heart.png" id="heart'.$row['id'].'" alt="Love! width="16" height="16" border="0" onmouseover="heartOver'."('$row[id]')".'; return true;" onmouseout="heartOver'."('$row[id]')".'; return true;"> 

如果我注释掉无论是IF语句的其他工作,但他们不会一起工作......

注:用else if没有运气尝试这样做。

想通了......杜:我有if();不;如果...

回答

5

把一个之间的其他 - 否则当第一个如果评估为真,它会导致第二个如果被评估为真也!

这里有一个简单的例子还检查img元素,甚至存在的假设:

var img=document.getElementById('heart' + id); 
if (img) 
{ 
    if(img.src == 'images/heart.png') 
    { 
     img.src = 'images/unheart.png'; 
    } 
    else if(img.src == 'images/unheart.png') 
    { 
     img.src = 'images/heart.png'; 
    } 
} 
else 
{ 
    alert("Ooooh! No heart"+id+" element found!"); 
}  
+0

我试过了。它并没有改变什么.. – ian 2009-07-22 20:24:37

0

这是正确的吗?

<img src="images/heart.png" id="heart'.$row['id'].'" alt="Love! width="16" height="16" border="0" onmouseover="heartOver'."('$row[id]')".'; return true;" onmouseout="heartOver'."('$row[id]')".'; return true;"> 

试试这个:

<img src="images/heart.png" id="heart<?php echo $row['id']; ?>" alt="Love!" width="16" height="16" border="0" onmouseover="heartOver(<?php echo $row['id']; ?>)" onmouseout="heartOver(<?php echo $row['id']; ?>)"> 
相关问题