neden benim görüntü roll over bu şekilde davranıyor?

2 Cevap php

Eser üzerinde benim görüntü roll ... Ama tek bir yolu.

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;">

I diğer çalışacaktır IF tabloların birini dışarı yorum ama eğer onlar alışkanlık birlikte çalışmak ...

Not: else if hayır şans ile bu çalıştı.

Bunu anladım ... Yaa: i eğer varsa (); No; eğer sonra ...

2 Cevap

Aralarında başka bir koy - Eğer ilk olarak gerçek değerlendirir zaman da doğru olarak değerlendirilir, aksi takdirde, bu ikinci neden olacaktır!

Burada da img öğesi bile varolduğunu varsayımını kontrol basitleştirilmiş bir örnek:

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!");
}

Bu doğru mudur?

<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;">

Bu deneyin:

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