Autor | Zpráva | ||
---|---|---|---|
Matts Profil * |
Ahoj,
mám tu takovou tabulku. A chtěla bych nějak zvýraznit aktuální den, tedy pokud je dnes 13.1. a v tabulce je 13.1. napsáno představení, aby se to nějak zvýraznilo (rámeček kolem buněk...Zkoušela jsem hledat, jak to napsat, ale mám v tom zmatek. Hlavně v tom, jak definovat tu podmínku...děkuji za všechny rady :-)...(Když to nepůjde, tak holt zvýraznění nebude..:-)) |
||
Str4wberry Profil |
#2 · Zasláno: 12. 12. 2009, 12:37:45
Viz objekt Date, tím si sestavíš dnešní den ve shodném formátu, jako v té buňce a porovnáš.
|
||
Leo Profil |
#3 · Zasláno: 12. 12. 2009, 13:07:22
Proč JavaScriptem. Nebudou se ty stránky generovat na serveru dynamicky například v PHP? Leo
|
||
Matts Profil * |
#4 · Zasláno: 12. 12. 2009, 13:35:35
Str4wberry:No, a jak přesně to mám porovnat?
Takhle nějak?:-) <script> promenna = new Date(); // mesic = promenna.getMonth() + 1; denVMesici = promenna.getDate(); if(denVMesici + ". " + mesic + "."== "prvni") {background:black;} </script> Leo: Noo...jako nějaký php tam bude...ale taky tomu moc nerozumím...tak spíš okrajově :-) |
||
LuBoss Profil * |
#5 · Zasláno: 12. 12. 2009, 17:01:15
Tak tako asi nie
if(denVMesici + ". " + mesic + "."== "prvni") {background:black;} porovnavas ci napr. "11. 12 ." == "prvni", to nebude nikdy pravda navyse nemozes potom len tak napisat {background:black;}, background:black nie je prikaz javascriptu. Ako tu uz Leo zmienil bolo by to lepsie urobit v php, pretoze ked to spravis v javascripte a niekto bude mat na svojom pocitaci nastaveny zly datum, tak mu zvyrazni aj zly datum v tabulke. Keby si to robil cez php riadilo by sa to podla datumu na servery, kde mas ulozene stranky. |
||
Leo Profil |
#6 · Zasláno: 12. 12. 2009, 17:31:53
"Ako tu uz Leo zmienil bolo by to lepsie urobit v php, pretoze ked to spravis v javascripte a niekto bude mat na svojom pocitaci nastaveny zly datum, tak mu zvyrazni aj zly datum v tabulke. Keby si to robil cez php riadilo by sa to podla datumu na servery, kde mas ulozene stranky."
No to neni hlavní důvod. Jde spíš o to, že PHP už ví, jaké je datum, když ho vypisuje (a předtím asi tahá z databáze), takže může podle něj vypsat css styl, je nesmysl to znova a komplikovaně zjišťovat v JS. Leo |
||
Str4wberry Profil |
#7 · Zasláno: 12. 12. 2009, 17:44:28
Matts: „Takhle nějak?:-)“
Takhle úplně ne. Ale jestli se ta stránka dynamicky generuje, tak bych do toho skutečně JavaScript netahal. |
||
Matts Profil * |
#8 · Zasláno: 12. 12. 2009, 20:08:13
aha,no já říkám, že tomu nerozumím...:-(
můžete mi prosím tedy napsat nějaký postup(nebo rovnou kousek kódu)? Spíš na ten javascript.....:-) Co se týče php, myslela jsem, že ho budu používat pouze pro include stránek... |
||
Leo Profil |
#9 · Zasláno: 12. 12. 2009, 20:59:01
No ono to není tak ajnfach, protože musíte načíst aktuální měsíc, ten je ve značce h1 bez přímého vztahu k tabulce, pak projít datumy v první buňce td, atd. Jinak řečeno - pokud se změní struktura html, musíte javascript, který to má ošetřit překopat. Leo
|
||
LuBoss Profil * |
#10 · Zasláno: 12. 12. 2009, 22:06:39
skus sa inspirovat tymto:
<html> <head> <style> td { border-style: solid; } .z { background-color: red; } </style> </head> <body> <table> <script> var data = [ {"date": "11. 12.", "action": "akcia1"}, {"date": "12. 12.", "action": "akcia1"}, {"date": "13. 12.", "action": "akcia1"}, {"date": "14. 12.", "action": "akcia1"} ] var date = new Date(); var month = date.getMonth() + 1; var day = date.getDate(); var a = day + ". " + month + "."; for(var i = 0; i < data.length; i++) { if(data[i].date == a) { document.write("<tr><td class='z'>"); } else { document.write("<tr><td>"); } document.write(data[i].date + "</td><td>" + data[i].action +"</td></tr>"); } </script> <table> </body> </html> |
||
Matts Profil * |
#11 · Zasláno: 12. 12. 2009, 22:20:44
Leo: To mě kompletně odradilo :-)...
LuBoss: Děkuji moc, to je super, hrozně jsi mi pomohl :-)...pořádně si to prostuduju a upravím...ale vypadá to, že to bude fungovat, jen to zatím bojkotuje FF,ale snad si s tím už poradím :-) |
||
Matts Profil * |
#12 · Zasláno: 12. 12. 2009, 22:51:16
ehm...tak na to koukám ale nevím,jak to rozchodit v té mozille a jak tam připsat další sloupce, za ty dva řádky...je to se mnou hrozný :-( :-)
|
||
Mistr Profil |
#13 · Zasláno: 12. 12. 2009, 23:37:59
Matts:
„jak tam připsat další sloupce, za ty dva řádky“ Jak tam připsat další sloupce za ty dva řádky? |
||
Matts Profil * |
#14 · Zasláno: 12. 12. 2009, 23:53:53
ehm, jsem se přepsala...potřebuju čtyři sloupce a tam jsou jen dva :-)
|
||
Časová prodleva: 3 dny
|
|||
Mistr Profil |
#15 · Zasláno: 16. 12. 2009, 00:15:24
Matts:
Kód var data = [ {"date": "11. 12.", "action": "akcia1"}, {"date": "12. 12.", "action": "akcia1"}, {"date": "13. 12.", "action": "akcia1"}, {"date": "14. 12.", "action": "akcia1"} ] uprav na var data = [ {"date": "11. 12.", "action": "akcia1", "treti": "akcia2", "ctvrty": "akcia3"}, {"date": "12. 12.", "action": "akcia1", "treti": "akcia2", "ctvrty": "akcia3"}, {"date": "13. 12.", "action": "akcia1", "treti": "akcia2", "ctvrty": "akcia3"}, {"date": "14. 12.", "action": "akcia1", "treti": "akcia2", "ctvrty": "akcia3"} ] A dále si kód document.write(data[i].date + "</td><td>" + data[i].action +"</td></tr>"); přepiš na document.write(data[i].date + "</td><td>" + data[i].action +"</td></tr>" + data[i].treti +"</td></tr>" + data[i].ctvrty +"</td></tr>"); Snad to bude fungovat. |
||
Časová prodleva: 14 let
|
0