Autor | Zpráva | ||
---|---|---|---|
MikeCZ Profil |
#1 · Zasláno: 4. 3. 2009, 19:01:04 · Upravil/a: MikeCZ
Mam takovej problém, nefunguje mi code... kdo mi bude schopnej poradit, tak už rovnou určitě pozná oč mi šlo a případně mi navrhněte jinej způsob, jestli to jde. Díky moc
javascript function getElementsByClass( searchClass, domNode, tagName) { if (domNode == null) domNode = document; if (tagName == null) tagName = '*'; var el = new Array(); var tags = domNode.getElementsByTagName(tagName); var tcl = " "+searchClass+" "; for(i=0,j=0; i<tags.length; i++) { var test = " " + tags[i].className + " "; if (test.indexOf(tcl) != -1) el[j++] = tags[i]; } return el; } function zobraz(idecko,lfsw){ ... var el2=getElementsByClass('members_hover'); el2.style.background=(el2.style.background == '#FF0000 url(/images/title_bgr.jpg)')?'#000 none':'#FF0000 url(/images/title_bgr.jpg)'; el2.style.textDecoration=(el2.style.textDecoration == 'underline')?'none':'underline'; ... } css .members_hover, #clanok_sub_member:hover { background: #000 none; text-decoration: none; } nakonec html ...<div id="clanok_sub_member" class="members_hover" onclick="zobraz(\''.$line["id"].'\',\''.$line["lfsw"].'\');">... Prostě to má měnit vlastnosti u clanok_sub_member po tom, co se klikne na DIV... chtěl jsem to vyřešit tak, že k tomu dám třídu a pak změním její vlastnost, čímž vlastně změním i ten hover. Zbytek kódu co jsem tam dal chybný není, fungoval už předtím normálně... btw zde najdete návod na tu funkci getElementsByClass http://www.anyexample.com/webdev/javascript/javascript_getelementsbyclass_function.xml |
||
Nox Profil |
#2 · Zasláno: 4. 3. 2009, 19:33:33 · Upravil/a: Nox
Co třeba vyměnit třídy? "members_hover" na "members_active"...dokonce to je pěkně sémantické
Jinak getElementsByClass jde krásně v knihovnách... $(".members_hover") |
||
MikeCZ Profil |
#3 · Zasláno: 4. 3. 2009, 20:28:27
Jaksi sem nepochopil co mám tedy udělat... chybí mi tam tečka? V příkladu tam také není
|
||
Nox Profil |
#4 · Zasláno: 4. 3. 2009, 20:33:55
Žádná tečka nechybí...jen říkám místo změny vlastností vyměnit třídu (atribut className)
|
||
MikeCZ Profil |
#5 · Zasláno: 4. 3. 2009, 20:53:36 · Upravil/a: MikeCZ
Jo, to mě taky napadlo, ale když změním třídu, tak se nic nevyřeší, protože clanok_sub_member:hover bude definovany stale stejne, ne? Mozna se mi to nevyjasnuje uplne, kdyztak prosim jednoduchy priklad...
EDIT: ten minulej post sem spatne pochopil :)... tj jedno |
||
SwimX Profil |
#6 · Zasláno: 4. 3. 2009, 20:57:37
MikeCZ
pokud ten div bude mít třídu i ID pak bych v css ho zaměřil přes oboje div#clanok_sub_member.members_hover:hover resp. div#clanok_sub_member.members_active:hover |
||
MikeCZ Profil |
#7 · Zasláno: 4. 3. 2009, 21:03:56
jo, takhle by to vlastně šlo, zkusím, díky :)
|
||
MikeCZ Profil |
#8 · Zasláno: 4. 3. 2009, 21:34:06
div#clanok_sub_member.members_hover:hover { background: #000 none; text-decoration: none; } div#clanok_sub_member.members_active:hover { background: #FF0000 url(/images/title_bgr.jpg); text-decoration: underline; } el2=document.getElementById('clanok_sub_member'); el2.className=(el2.className == 'members_active')?'members_hover':'members_active'; <div id="clanok_sub_member" class="members_hover" onclick="zobraz(\''.$line["id"].'\',\''.$line["lfsw"].'\');"> stale nefunguje :( a zbytek skriptu ano |
||
MikeCZ Profil |
#9 · Zasláno: 4. 3. 2009, 22:47:44
Omyl, funguje. Díky
|
||
SwimX Profil |
#10 · Zasláno: 4. 3. 2009, 23:03:12
MikeCZ
v IE6 ale funguje hover jen na element a. Je třeba využít hover.htc Chamurappi chybí mi ta klávesová mapa :( |
||
Časová prodleva: 15 let
|
0