Autor | Zpráva | ||
---|---|---|---|
maks Profil |
#1 · Zasláno: 8. 11. 2013, 14:40:32
Ahoj,
mám tento HTML kód: <a href="index.php?...&setactive=8" onclick="nejaka_funkce(); ...tady potřebuji provést akci popsanou dále; return false;"><img src="false.gif" alt="zapnout" title="zapnout"> A potřeboval bych po kliknutí na odkaz zavolat nejakou_funkci (to funguje dobře) a dále pak nahradit tučné části v kódu výše, existují dvě sestavy: 1a) setactive >> setinactive v odkazu 1b) false.gif >> true.gif v obrázku 1c) zapnout >> vypnout v title a altu obrázku a analogicky k tomu: 1a) setinactive >> setactive v odkazu 1b) true.gif >> false.gif v obrázku 1c) vypnout >> zapnout v title a altu obrázku Přiznám se, že mě napadlo to nejelementárnější řešení - udělat podmínku a provést 4 replacnutí, ale nevím,jestli to je to nejlepší/nejrychlejší řešení. Vlastně ani nevím, jak tu podmínku napsat, atribut href je dlouhý, jak v něm hledat, jestli obsahuje string „inactive“? indexOf? Jinak? |
||
Chamurappi Profil |
#2 · Zasláno: 8. 11. 2013, 14:58:23
Reaguji na makse:
Což takhle mít v kódu oba odkazy i obrázky a měnit jen jejich viditelnost změnou třídy na společném rodiči? |
||
Str4wberry Profil |
#3 · Zasláno: 8. 11. 2013, 15:18:28
Šlo by změnit URL akce jako přepínač (takže bude pro oba stavy stejná), obrázek udělat přes CSS pozadí a měnit třídu přímo toho odkazu. Ale chyběl by potom ten
alt /title . Takže by to třeba šlo řešit umístěním obou obrázků do odkazu a přepínání třídy toho odkazu (jako je to třeba tady).
Nebo rovnou mít oba odkazy se společným rodičem, jak píše Chamurappi. Živá ukázka |
||
joe Profil |
#4 · Zasláno: 8. 11. 2013, 15:26:39
maks:
Řešil bych to tak, že si k odkazu a obrázku dám nějaké další atributy a pak budu jen prohazovat jejich hodnoty. K tomu se například hodí data atributy. <a href="http://example.com?parameter=1" data-href="http://example.com?parameter=2"> obdobně pak i u toho obrázku, kde může být nevýhodou, že se bude obrázek teprve po změně zdroje načítat, pak si ho ale můžeš třeba opět JavaScriptem přednačíst. |
||
maks Profil |
#5 · Zasláno: 8. 11. 2013, 15:38:56
Chamurappi:
nj, jak prosté. Že mě to hned nenapadlo... Str4wberry: je to obrázek, který potřebuje alt (ano, nebo image replacementem pod něj dostat text), takže pozadí odpadá.
joe: předcházející řešení se společným rodičem je asi nejkrásnější (i co se kódu týče), použiju to. Díky. |
||
joe Profil |
#6 · Zasláno: 8. 11. 2013, 17:56:46
maks:
„předcházející řešení se společným rodičem je asi nejkrásnější (i co se kódu týče), použiju to.“ Když myslíš, nechci nic zpochybňovat, ale pokud chci mít na stránce jeden odkaz (byť mu pak budu měnit URL), já tam opravdu chci mít jeden, ne dva, ale záleží k čemu to opravdu potřebuješ a zda bys tam celý ten odkaz neměl vytvářet až JavaScriptem :-) |
||
Časová prodleva: 10 let
|
0