Autor Zpráva
Darker
Profil
Mám v tabulce určitý počet obrázků a chci aby po kliknutí na obrázek došlo k jeho změně, například místo bílého pole se tam objeví křížek.
A abych nemusel pro každý obrázek psát samostatný skript snažím se vytvořit universální funkci.
Spouštím tudíž funkci s parametrem jména obrázku
<td bgcolor="white"><img src="nic.gif" name="1" onclick="click(this.name)">

funkci samotnou jsem udělal takhle:
<script>
function click(curimg) {
document.+curimg+.src="kolecko.gif"
}
</script>

podle rady kamaráda očekávaje že se proměnná v adrese obrázku změní na jméno obrázku. Skoušel jsem to v mozille a nefungovalo to.
Děkuju za odpověď
__construct
Profil
Myslím, že to nefunguje pretože atribút name nemôže začínať číslom ..
Darker
Profil
Bohužel, přejmenování nepomohlo.
Chybová konzola mi hlási syntax error u document.+curimg+.src=.
Takže to zadání pomocí plusek mám asi nějak v nepořádku, nebo vůbec nejsou řešením
blaaablaaa
Profil
<td bgcolor="white"><img src="nic.gif" name="1" onclick="click(this)">

<script>
function click(el) {
el.src="kolecko.gif"
}
</script>
Darker
Profil
Děkuju, teď už to funguje.
Ale nechce mi to fungovat s podmínkou a nevím proč.

<img src="nic.gif" name="img1" onclick="if(this.pepa=="0") {click(this);this.pepa=1}" pepa="0">


atribut pepa jsem si vytvořil jako nejjednodužší spůsob, jak definovat jestli se na obrázek už kliklo.
Zkoušel jsem podmínku všeliak obněňovat ale i když jsem dal úplně stejný skript i do else (tzn. že k jeho splnění došlo nezávisle na pravdivosti podmínky) nic se nestalo, chyby to taky nehlásí.
Chamurappi
Profil
Reaguji na blaaablaau:
Nazvat metodu click je docela hloupé, protože pak nemůžeš z onclicku zavolat nativní click().


Reaguji na darkera:
document.+curimg+.src
Fungovalo by document[curimg].src, ale blaaablaaaův postup je lepší.

onclick="if(this.pepa=="
Tohle je celý tvůj atribut onclick. Vše následující je už mimo něj.

pepa="0"
Nepotřebuješ atribut. Stejně pracuješ s vlastností pepa a ne s atributem pepa. Testuj jen if(this.pepa), neexistující vlastnosti jsou undefined.
blaaablaaa
Profil
darker:
Primo tady muzes videt, proc to nechce jit - pouzivas dvojite uvozovky vsude, takze parser vezme jen onclick="if(this.pepa==".
Darker
Profil
Aha uvozovky :D
Co se týká toho pepy tak ten mi vždycky fungoval (už jsem ten program jednou měl, ale byl nesmyslně dlouhý)
Darker
Profil
Chamurappi:Fungovalo by document[curimg].src
nefunguje :(
document[cudelik].style.visibility="hidden"


Chyba: document[cudelik] is undefined
Zdrojový soubor: file:///D:/JAKUB/programovani/piskvorky.html
Řádek: 85


Tohle chybová hláška...

/edit 13:31 29.4.2010
Omlouvám se, funguje.
Nevšilm jsem si, že ten objekt je součástí formu.
Chamurappi
Profil
Reaguji na darkera:
Co se týká toho pepy tak ten mi vždycky fungoval
Že jsi v this.pepa nacházel řetězec "0"? Ve všech prohlížečích ti to fungovalo?

Tohle chybová hláška
Z jednoho řádku kódu, který nijak nenavazuje na výše uvedený kód, těžko něco vykoukám. Dodej živou ukázku.

/edit 13:31 29.4.2010
Nastav si letní čas :-)
blaaablaaa
Profil
Chamurappi:
Nad nazvem funkce jsem nepremyslel, jen jsem prepsal jeho, mas pravdu.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0