Eli minulla on sivun headin script- osiossa tällainen koodi funktiossa (objektin value on "panel1"):
document.getElementById(objekti + "s").src = (document.getElementById(objekti + "s").src != 'arrow_up.gif' ? 'arrow_up.gif' : 'arrow_down.gif');
Ja kuvan koodina tällainen:
<img src="arrow_up.gif" id="panel1s">
Joka on yhteydessä linkkiin joka taas kutsuu tuota funktiota. Ongelmaksi muodostui, miksei kuva vaihdu toiseksi, vaikka kaiken järjen mukaan sen pitäisi :S
Heippa taas Short Php!
tässä ei ehkä ole niinkään paljon järkeä, mutta TOIMII...
<html><head><script language="JavaScript"> function funkkis(objekti, parametri){ if (parametri == 0){ objekti.src = "arrow_down.gif";} if (parametri == 1){ objekti.src = "arrow_up.gif";} } </script></head><body><form> <p><img id="img1" src="arrow_up.gif" onmousedown="funkkis(this, 0)" onmouseup="funkkis(this, 1)"></p> <input type="button" onmousedown="funkkis(img1, 0)" onmouseup="funkkis(img1, 1)"/> </form></body></html>
Kyse onkin tällaisesta:
<a href="#" Onclick="teejotainjavascriptillä('panel1');">Pölöpölö <img src="jotain.jpg" id="panel1"></a>
eikä mistään onmouseoverista
Heippa taas Short Php!
lainaus:
document.getElementById(objekti + "s").src = ...
Ensiksi: jos tuo objekti saa arvonsa funktiolle välitettävästä parametristä niin tutki ihmeessä alert-funktion avulla palauttako se kenties jotain muuta, kuin [object] siten voit tutkia löytyykö dokumentistasi elementtiä, jonka id olisi mahdollisesti [object] + "s". Toiseksi jos nappaat kuvan osoitteen linkin sisältä tyyliin document.getElementById(objekti).src niin funktio palauttaa absoluuttisen URI:n elikä koko rimpsun http://..jne tahi file:///...jne
joten tässä yhteydessä kannattaa tutkia hieman vaikkapa mitä oheista koodia muuntelemalla voisi saada aikaan...
<html><head><script language="JavaScript"> function funkkis(img){ if(img.src.indexOf("arrow_up.gif") > -1) { img.src = "arrow_down.gif";} else{img.src = "arrow_down.gif";} //img.src = (!img.src.indexOf ("arrow_up.gif")?'arrow_up.gif':'arrow_down.gif'); } </script></head><body id="xbody"><form> <a href="#" onclick="funkkis(img1);">Linkki <img id="img1" src="arrow_up.gif"></a> </form></body></html>
elvistelyjen sijaan...
Aihe on jo aika vanha, joten et voi enää vastata siihen.