为什么我的图像会以这种方式表现出来?

我的图像翻转作品...但只有一种方式。

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();不;如果...后
已邀请:

cea

赞同来自:

在他们之间放置一个 - 否则当第一个如果评估为真,它会导致第二个如果被评估为真也! 这是一个简化的例子,它也检查了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!");
}    

funde

赞同来自:

它是否正确?

<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']; ?>)">

要回复问题请先登录注册