Autor | Zpráva | ||
---|---|---|---|
lachim15 Profil |
Zdravím, potřeboval bych pomoct s jedním JS.
Mám spoustu řádků pod sebou, které přes CSS sprite načítají obrázky a pokud na některé z nich kliknu, poskládají obrázek a vypíší požadované texty (Co řádek to jiný poskládaný obrázek). <br><span class='obrazek class1' onclick="app();"></span> <br><span class='obrazek class2' onclick="app();"></span> <br><span class='obrazek class3' onclick="app();"></span> <br><span class='obrazek class4' onclick="app();"></span> <br><span class='obrazek class5' onclick="app();"></span> <br><span class='obrazek class6' onclick="app();"></span> . . . . A reaguje na ně JS: function app() { document.getElementById('nadpis').innerHTML = "Nějaký text"; document.getElementById('nadpis2').innerHTML ="Nějaký text"; document.getElementById('pole1').className = "neco obrazek2"; document.getElementById('pole2').className = "neco2 obrazek2"; document.getElementById('pole3').className = "neco3 obrazek2"; document.getElementById('pole4').className = "neco4 obrazek2"; document.getElementById('pole5').className = "neco5 obrazek2"; document.getElementById('pole6').className = "neco6 obrazek2"; document.getElementById('pole7').className = "neco7 obrazek2"; document.getElementById('pole8').className = "neco8 obrazek2"; document.getElementById('pole9').className = "neco9 obrazek2"; document.getElementById('pole10').className = "neco10 obrazek2"; document.getElementById('cislo').innerHTML = "Nějaké číslo"; } Potřeboval bych nějak upravit, abych pro každý řádek class1, class2, class3 ... nemusel mít zvlášť takhle dlouhý js, ale například aby se zachovalo co potřebuji, ale mohl bych to dosadit za proměnné. Například že místo "Nějaký text" by byla proměnná, která by byla definovaná ve stejném JS souboru pro každý řádek (<span>) zvlášť. Díky moc za každou radu :) |
||
KryVosa Profil * |
#2 · Zasláno: 11. 4. 2015, 21:31:35
Přidej argument té funkce, jako každou proměnnou:
function app(neakyText, neakeCislo){ document.getElementById('nadpis').innerHTML = nejakýText; document.getElementById('nadpis2').innerHTML =nejakýText; document.getElementById('cislo').innerHTML = NeakeCislo; //a tak dále... } <span class='obrazek class1' onclick="app('text v nadpisech', 10);"></span> |
||
lachim15 Profil |
Mno ono některé texty budou dlouhé a řádků bude opravdu mnoho. Chtěl jsem se vyhnout tomu, aby nebylo na "viditelné" stránce v kódu moc znaků. Myslel jsem spíš něco jako.., naznačím trochu přesněji pro pochopení:
function app() { document.getElementById('nadpis').innerHTML = promenna1; document.getElementById('nadpis2').innerHTML = promenna2; document.getElementById('pole1').className = promenna3; document.getElementById('pole2').className = promenna4; document.getElementById('pole3').className = promenna5; // a tak dále ... } a pak už jen vypisovat pro každý řádek zvlášť, co potřebuji, něco na způsob: První řádek (<br><span class='obrazek class1' onclick="app();"></span>) promenna1 = "Nějaký náhodný text pro představu". promenna2 = "Další odlišný text". promenna3 = "css_class" .... Druhý řádek (<br><span class='obrazek class2' onclick="app();"></span>) promenna1 = "zase text". promenna2 = "text". promenna3 = "jina_css_class" .... a tak dále.... Jinak řečeno, že po kliknutí na obrázek (<span>) by to proletělo ten horní script a podle řádku by si to dosadilo proměnné. |
||
Časová prodleva: 10 let
|
0