Autor | Zpráva | ||
---|---|---|---|
blaaablaaa Profil |
#1 · Zasláno: 27. 1. 2009, 13:35:15
ahoj,
snazim se ucit v js, takze si pisu "galerii" fotek - http://gal.trupek.cz - jako zaklad jsem pouzil drag&drop skript, tker yjsme nekde vygooglil. ve funkci start pak pres innerHTML "do" dotky vlozim odkaz na zavreni, reseny pres onclick, ten vska bohuzel nefunguje, pokud jej vsak napisu primo do stranky (umisteny vpravo nahore - zavira prvni obrazek), vse funguje... nevite, jak to vyresit? (js jsem pro vetsi prehlednost umistil primo do kodu) Diky |
||
Chamurappi Profil |
#2 · Zasláno: 27. 1. 2009, 19:12:00
Reaguji na blaaablaaa:
Po zběžném průzkumu bych řekl, že křížek nezavírá kvůli tomu, že jeho rodič <div> stornuje výchozí akci při onmousedown (tedy při započetí kliknutí). Mimochodem, nepoužívej getAttribute a setAttribute na atributy, které jsou dostupné ve standardním HTML DOMu (class, id atd.). |
||
blaaablaaa Profil |
#3 · Zasláno: 27. 1. 2009, 19:56:28
Chamurappi
praveze tim to neni - pokud krizek vlozim primo do kodu (ne pres innerhtml), vse funguje, jak ma. ok, proc by se nemeli pouzivat? |
||
Měsíček Profil |
#4 · Zasláno: 27. 1. 2009, 20:11:53
"ok, proc by se nemeli pouzivat?"
Možná proto, protože celkově bude aplikace o několik tísic sekundy pomalejší, možná taky proto, že je to zbytečně dlouhé a zároveň zbytečné. |
||
Chamurappi Profil |
#5 · Zasláno: 27. 1. 2009, 20:23:39
Reaguji na blaaablaaa:
„praveze tim to neni“ Vskutku. Je to tím, že křížek při onmousedown zničíš, protože nastavuješ nové innerHTML v onmousedown <div>u. Fotka se nestihne zavřít dříve, než se zase otevře. „proc by se nemeli pouzivat?“ Hlavně proto, že v mnoha případech nefungují (třeba class v Exploreru nebo value v Mozille) a nebo fungují jinak, než by programátor chtěl. Jakmile HTML parser přelouská kód, nemá smysl sahat na atributy, jejichž obsah už byl promítnut do vlastností elementů. Sáhnout si pro „něco.className“ je čistší než lovit obsah atributu „class“. |
||
blaaablaaa Profil |
#6 · Zasláno: 28. 1. 2009, 08:44:07
Chamurappi
diky za rady |
||
Časová prodleva: 15 let
|
0