Autor | Zpráva | ||
---|---|---|---|
David84711 Profil * |
#1 · Zasláno: 28. 7. 2011, 11:41:46
Zdravím,...
Už několik dní přemýšlím, jak bych mohl udělat následující... Mám vedle sebe tři tabulky. Údaje v první tabulce: Výška: x Hloubka: x Údaje v druhé t.: Výška: y Hloubka: y Údaje ve třetí t.: Výška: z Hloubka: z Vytvořit tyhle tři tabulky mi problém samozřejmě nedělá. Potřeboval bych ale aby, když najedu například na "výšku" v první tabulce, aby se mi zvýraznili Všechny výšky (v každé tabulce) Zkoušel jsem pár věcí, ale aby se mi zvýraznili všechny tři, tak to se mi nepovedlo. Poraďte díky... |
||
Fnesveda Profil |
#2 · Zasláno: 28. 7. 2011, 22:33:40
Zkus si údaje, které chceš zvýrazňovat současně, označit stejnou třídou, a pak pomocí getElementsByClassName jim změnit styl.
Něco jako: <td class="class23" onmouseover="highlight('class23')">Výška 23</td> ... <script> function highlight(classname) { var elements = document.getElementsByClassName(classname); for (var i = 0; i < elements.length; i++) { elements[i].style.background-color="#FFBB00" } } </script> |
||
panther Profil |
#3 · Zasláno: 28. 7. 2011, 22:37:01
Fnesveda:
toto řešení s getElementsByClassName nebude fungovat všude.
|
||
Fnesveda Profil |
#4 · Zasláno: 28. 7. 2011, 23:02:01
Panther:
Pravda, IE <9 to nezvládne, škoda... Díky za kontrolu. Pak by byla možnost obejít to přes getElementById, a označit si jednotlivé buňky jako 23_0, 23_1, 23_2 apod. a postupně zvýraznit všechny jednotlivě. <td id="23_0" onmouseover="highlight('23')">Výška 23</td> <td id="23_1" onmouseover="highlight('23')">Výška 23</td> <td id="23_2" onmouseover="highlight('23')">Výška 23</td> ... <script> var row_count = 3; function highlight(groupname) { for (var i = 0; i < row_count; i++) { document.getElementById(groupname+'_'+i).style.background-color="#FFBB00"; } } </script> Je to sice prasácký, ale fungovat by to mělo. |
||
David84711 Profil * |
#5 · Zasláno: 29. 7. 2011, 13:29:39
díky za rady, ale funguje to jen tak na půl. Hodnota se po najetí kurzoru sice zvýrazní. Ale! zvýrazní se jen ta na kterou najedu. Navíc se někdy zvýraznění jakoby zapomene a text zvýrazněný zůstane napořád.
|
||
Ugo Profil * |
#6 · Zasláno: 29. 7. 2011, 13:54:35
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> <td class="vyska" onmouseover="$('.vyska').css('background','red')">Výška 23</td> http://jquery.com |
||
hunter_dave Profil |
#7 · Zasláno: 29. 7. 2011, 18:48:42 · Upravil/a: hunter_dave
Přidal jsem ke scriptu Fnesveda onmouseout a upravil pro 3 .. už by se to mělo i vracet a u všech 3.
<td id="23_0" onmouseover="highlight('23')" onmouseout="back('23')">Výška 23</td> <td id="23_1" onmouseover="highlight('23')" onmouseout="back('23')">Výška 23</td> <td id="23_2" onmouseover="highlight('23')" onmouseout="back('23')">Výška 23</td> ... <script> function highlight(groupname) { for (var i = 0; i < 3; i++) { document.getElementById(groupname+'_'+i).style.backgroundColor="#FFBB00"; } } function back(groupname) { for (var i = 0; i < 3; i++) { document.getElementById(groupname+'_'+i).style.backgroundColor=""; } } </script> |
||
David84711 Profil * |
#8 · Zasláno: 29. 7. 2011, 20:24:42
Pořád se mi označí jen jedno
|
||
hunter_dave Profil |
#9 · Zasláno: 29. 7. 2011, 20:38:00
ja jsem to zkousel u sebe .. oznaci se mi vsechny .. mas u tech <td> id="23_0" id="23_1" id="23_2"?
|
||
hunter_dave Profil |
#10 · Zasláno: 29. 7. 2011, 20:38:47 · Upravil/a: hunter_dave
zkopiruj si tohle ..
<html> <head> <meta http-equiv="content-type" content="text/html; charset=windows-1250"> <title></title> </head> <body> <table> <tr> <td id="23_0" onmouseover="highlight('23')" onmouseout="back('23')">Výška 23</td> <td id="23_1" onmouseover="highlight('23')" onmouseout="back('23')">Výška 23</td> <td id="23_2" onmouseover="highlight('23')" onmouseout="back('23')">Výška 23</td> </tr> </table> <script> function highlight(groupname) { for (var i = 0; i < 3; i++) { document.getElementById(groupname+'_'+i).style.backgroundColor="#FFBB00"; } } function back(groupname) { for (var i = 0; i < 3; i++) { document.getElementById(groupname+'_'+i).style.backgroundColor=""; } } </script> </body> </html> nic na tom nemen a zkus to .. pak neco zmen a zkus to znovu .. pokud to uz nepujde .. rekni co si zmenil a ja ti pomuzu |
||
hunter_dave Profil |
#11 · Zasláno: 29. 7. 2011, 20:41:52
ted sem to vyzkousel v exploreru ve firefoxu v opere a v chromu .. safari bohuzel nemam .. ale ve vsech to funguje
|
||
David84711 Profil * |
#12 · Zasláno: 29. 7. 2011, 20:53:54
jo tak takhle mě to funguje. Když ale vložím pouze body 9až25 chová se to, jako by to tam nevidělo ten script. Nejsem si jistý ale možná by to mohlo být tím, že tam mám i jiné scripty a on neví který je pro něj důležitý. Ale možná že plácám jen blbosti..
|
||
hunter_dave Profil |
#13 · Zasláno: 29. 7. 2011, 20:56:22
ne tím to není .. musíš zkopírovat to <td> i s tabulkou to zaprvé .. a ten scritpt musí být vždy napsaný až za tím co chceš měnit .. to proto že když volaš fci back() nebo highlight tak <td id="23_0"> atd .. už musí být vytvořené.
|
||
hunter_dave Profil |
#14 · Zasláno: 29. 7. 2011, 20:59:01
Kdyžtak kdyby sis nevěděl rady tak mi sem dej celý tvoje html i stěma tabulkama a ja ti to upravim tak aby to fungovalo .. a krome barvy pozadí samozřejmě můžeš měnit i barvu písma .. tučnost .. velikost .. cokoliv co se dá nastylovat :)
|
||
David84711 Profil * |
#15 · Zasláno: 29. 7. 2011, 21:05:50
Kod je trochu delší tak jsem to uložil na web...
http://www.vystava-moo.mysteria.cz/encyklopedie/ Ta tvoje tabulka je hnedka v levém horním boxu nahoře... |
||
hunter_dave Profil |
#16 · Zasláno: 29. 7. 2011, 21:33:49 · Upravil/a: hunter_dave
a ty chces aby u vsech tech letadel se zvyraznovali vysky pokud na jednu z nich najdes?
sory za zpozdeni byl sem pryc |
||
David84711 Profil * |
#17 · Zasláno: 29. 7. 2011, 21:36:04
No když najedu na zařazen, aby se mi u všech zvýraznilo "zařazen"
a když na max. rychlost, aby se zvýraznily všechny "max rychlosti"... |
||
hunter_dave Profil |
#18 · Zasláno: 29. 7. 2011, 21:37:15
jj .. a jakou barvou .. rek bych ze ta z kterou sme to zkouseli se tam nehodi
|
||
David84711 Profil * |
#19 · Zasláno: 29. 7. 2011, 21:39:42
měl jsem namysli tuhle: #009999
|
||
David84711 Profil * |
#20 · Zasláno: 29. 7. 2011, 21:42:28
Spíš tuhle... #004666
|
||
hunter_dave Profil |
#21 · Zasláno: 29. 7. 2011, 21:43:43 · Upravil/a: hunter_dave
hale je to jednoduchy .. vschny
<td>zařazen</td> <td id="zarazen_0" onmouseover="highlight('zarazen')" onmouseout="back('zarazen')">zařazen</td> for (var i = 0; i < 3; i++) { document.getElementById(groupname+'_'+i).style.backgroundColor="#004666"; } } |
||
hunter_dave Profil |
#22 · Zasláno: 29. 7. 2011, 21:48:52
jeste v tom
for (var i = 0; i < 3; i++) |
||
hunter_dave Profil |
#23 · Zasláno: 29. 7. 2011, 21:56:57 · Upravil/a: hunter_dave
jenom pro vysvětlení jak to funguje ..
<td id="zarazen_0" onmouseover="highlight('zarazen')" onmouseout="back('zarazen')">zařazen</td> při najetí myši (onmouseover) se spustí funkce highlight. po opuštění objektu myší(onmouseout) se spustí fce back v závorkách se předává hodnota funkci (groupname) .. zarazen function highlight(groupname) { for (var i = 0; i < 3; i++) { document.getElementById(groupname+'_'+i).style.backgroundColor="#004666"; } } function back(groupname) { for (var i = 0; i < 3; i++) { document.getElementById(groupname+'_'+i).style.backgroundColor=""; } } </script> fce highlight - script 3x projede dokumet a všem objektům s id zarazen_0, zarazen_1, zarazen_2 změní pozadí na #004666. fce back - script 3x projede dokumet a všem objektům s id zarazen_0, zarazen_1, zarazen_2 změní pozadí zpět na defalutní. |
||
David84711 Profil * |
#24 · Zasláno: 29. 7. 2011, 22:02:43
Co mám špatně? Dík.--
http://www.vystava-moo.mysteria.cz/encyklopedie/ (mám to jenom u prvních 2 letadel...) |
||
hunter_dave Profil |
#25 · Zasláno: 29. 7. 2011, 22:03:39
jenom jestli můžu poradit ... všimnul jsem si přihlašovacího pole .. bylo by možná lepší uvažovat o PHP .. pokud stránku zahesluješ javascritem není to zrovna bezpečné. :)
|
||
David84711 Profil * |
#26 · Zasláno: 29. 7. 2011, 22:08:27
vím, na tom PHP už pracuju, ale bude to nadlouho s mím chápáním :D
A prosím tě ještě k té tabulce, pořád to nefachčí... Uložil jsem to na web, jak si mě popsal.. |
||
hunter_dave Profil |
#27 · Zasláno: 29. 7. 2011, 22:08:59
nejspíš někde v těch skryptech už hightlight máš .. zkus tam ten script nahradit tak aby to nevadilo ...
<script> function zvyrazni(groupname) { for (var i = 0; i < 3; i++) { document.getElementById(groupname+'_'+i).style.backgroundColor="#FFBB00"; } } function odvyrazni(groupname) { for (var i = 0; i < 3; i++) { document.getElementById(groupname+'_'+i).style.backgroundColor=""; } } </script> to sami musis udelat znova u tech <td> misto highlight napis zvyrazni a misto back napis odvyrazni |
||
David84711 Profil * |
#28 · Zasláno: 29. 7. 2011, 22:14:20
Díky moc, funguje to.... Jsi skvělý
|
||
hunter_dave Profil |
#29 · Zasláno: 29. 7. 2011, 22:15:12
nemas zac ..
|
||
Časová prodleva: 13 let
|
0