Autor | Zpráva | ||
---|---|---|---|
sysel Profil |
Prosím o pomoc při objasnění rozdílu v následujících způsobech změn určitého atributu stylu javascriptem.
Obě funkce (klik i klak) nakonec udělají vlastně stejný barevný výsledek, ale DOM to zřejmě ovlivňuje jinak. <style> h3 {color: red} .jo {color: blue} .ne {color: red} </style> <script> function klik(coo){ if (coo.className=="jo") {coo.className="ne";} else {coo.className="jo";};}; function klak(coo){ if (coo.style.color=="blue") {coo.style.color="red";} else {coo.style.color="blue";};}; </script> . . . <h3 onclick="klik(this)">titulek klik</h3> <h3 onclick="klak(this)">titulek klak</h3> Dále se mi nepodařilo pochopit, zda lze, v případě použití stylových tříd, měnit javascriptem definici takové třídy? Bylo by to rychlejší než měnit className všude, kde je potřeba(?). |
||
Monkeys Profil * |
#2 · Zasláno: 7. 11. 2018, 10:48:23
sysel:
Rozdiel je v tom ze style vzdy prebije class M. |
||
Tomášeek Profil |
#3 · Zasláno: 7. 11. 2018, 12:57:02
Monkeys:
Skoro vždy. Většinou. |
||
Keeehi Profil |
#4 · Zasláno: 7. 11. 2018, 21:08:46
sysel:
„Bylo by to rychlejší než měnit className všude, kde je potřeba(?).“ Většinou jde měnit třídu nějakému vhodnému rodiči. Příkladem by bylo vybraní všech buněk v určitém řádku tabulky. Místo toho aby jsi procházel buňku po buňce a každé měnil třídu, tak změníš třídu jejich rodiči a v css pak použiješ tr.trida td
A co se týče rychlosti tak JS je celkem výkonný. Pokud by jsi dělal tisíce změn mnohokrát za vteřinu pak by jsi to si poznal ale to zřejmě nebude tvůj případ. |
||
sysel Profil |
#5 · Zasláno: 8. 11. 2018, 20:40:40
Čili, musím mít třídy stylů vždy předem připraveny a pak nějak šikovně provést výběr těch objektů, kterých se to má týkat. Musím promyslet tu variantu s vyhledáním vhodného rodiče.
(Javascript je opravdu velmi rychlý, již jsem si to ověřil při vytváření dynamických stránek pomocí PHP. Ukázalo se mnohem rychlejší manipulovat se zobrazovanými daty lokálně, než si o jiné přerovnání stejných výsledků žádat server. ) |
||
Keeehi Profil |
#6 · Zasláno: 8. 11. 2018, 23:16:56
sysel:
„Čili, musím mít třídy stylů vždy předem připraveny a pak nějak šikovně provést výběr těch objektů, kterých se to má týkat.“ Ano, je to většinou vhodný postup. |
||
Mlocik97 Profil |
#7 · Zasláno: 9. 11. 2018, 12:51:54
sysel:
(Javascript je opravdu velmi rychlý, již jsem si to ověřil při vytváření dynamických stránek pomocí PHP. Ukázalo se mnohem rychlejší manipulovat se zobrazovanými daty lokálně, než si o jiné přerovnání stejných výsledků žádat server. ) ktorý retard (s prepáčením), by niečo také riešil na server-side? |
||
Kajman Profil |
#8 · Zasláno: 9. 11. 2018, 13:10:36
Mlocik97:
Když mám milion záznamů a potřebuji z nich jen 100 podle různého řazení, co si uživatel zvolí, tak mu přeci nebudu posílat milion záznamů, ať si je seřadí sám. Řazení na server-side mi přijde častější řešení. A když to je rychlé pro milion záznamů a stejně musím server-side naprogramovt, proč to nepoužít i pro deset záznamů? |
||
sysel Profil |
#9 · Zasláno: 9. 11. 2018, 20:12:01
Mlocik97:
„ktorý retard (s prepáčením), by niečo také riešil na server-side?“ . . . no přece já! každý nějak začíná :-) Kajman: . . . no já na server-side nakonec vyselektoval nějaké ty záznamy (obvykle tak do stovky ) a u klienta se z nich vytvořila tabulka, řazená defaultně podle prvního sloupce (to bylo IDčko). Přerovnání podle jiného sloupce se ukázalo rychlejší klientem. Pamatuji si, že to nebylo úplně triviální, ale zdařilo se. Nakonec i tu tabulku bylo rychlejší generovat javascriptem z dat poskytnutých serverem. Nechci tvrdit, že že server neumí sortovat rychleji, ale připočteme-li režii nutnou pro komunikaci a případné zatížení serveru, je nakonec lokální zpracování pohodlnější. |
||
Kajman Profil |
sysel:
„ale připočteme-li režii nutnou pro komunikaci a případné zatížení serveru, je nakonec lokální zpracování pohodlnější“ Asi bych to nezobecňoval. Pochybuji, že by např. tato diskuse byla rychlejší, kdyby posílala klientovi seznam všech vláken, ať si to seřadí sám. |
||
Kcko Profil |
#11 · Zasláno: 9. 11. 2018, 20:56:50
sysel:
Až nastane situace kdy jeden sloupec tabulky budeš potřebovat seřadit podle nějakého speciálního formátu - česká diakritika - jiný jazyk (němčina) - nějaká čísla, která budou muset být řazena podle toho jak to dává logiku např. v účetnictví - měny atd tak to velmi rád přenecháš serveru (a databázi pravděpodobně), než to implementovat do JS. |
||
Časová prodleva: 7 let
|
0