Autor | Zpráva | ||
---|---|---|---|
Lorinka Profil * |
#1 · Zasláno: 13. 7. 2006, 22:46:39
Ahoj. Prosil bych o dvě rady:
1, potřeboval bych měnit barvu rámečku při mouseover[/ b] u některých obrázkových odkazů. Lze to docílit třeba pomocí [b]onmouseover="this.style.borderColor ...... a potom onmouseout ...... to je mi jasné, ale potřeboval bych to pro více takových odkazů, ale nevím jak to udělat abych to nemusel u každého vypisovat znova. Teda jestli to lze udělat i jinak než u samostatného inLine zápisu konkrétního odkazu. 2, pro použití obrázkových odkazů které reagují jen na onclick, onmousedown, a podobně, ale jinak jako odkaz nefungují používám zřejmě nesprávný zápis <a href="#" onclick="volání funkcí"><img src="adresa" onmousedown=".... a další. Jde mi o to, aby se měnil kurzor myši tak jako když se jedná o odkaz. Jak se to dělá správně? Tak abych nastavil reakce na onclick, mousedown u samotného obrázku a zároveň se měnil kurzor myši jako u odkazu? |
||
habendorf Profil |
#2 · Zasláno: 13. 7. 2006, 23:05:05
1) bez JS, normální hover
2) nad odkazem se dělá ručička sama, ať už je v něm obrázek nebo nikoliv |
||
jogurt Profil |
#3 · Zasláno: 13. 7. 2006, 23:08:06
1: Neni potreba to delat pres JS. staci do zahlavi dokumentu dat css:
a:hover{border-color:#F00;} 2: uplne stejne. muzes jim oboum dat ruzny tridy: <style type="text/css"> a.normalni:hover{border-color:#F00;} a.divnej:hover{border-color:#FF0;} </style> ... <a href="adresa" class="normalni"><img></a> <a href="#" onClick="prikaz; return false;" class="divnej"><img></a> |
||
Lorinka Profil * |
#4 · Zasláno: 14. 7. 2006, 00:08:04
Díky už jsem myslel, že mám vyhráno se změnou barvy rámečku. Mě nedošlo, že i a:hover mohu přiřadit třídu :-[, ale i tak to problém neřeší. Takhle to funguje správně dokud na obrázkový odkaz nekliknu. Po kliknutí se nastaví barva a:acitve a po návratu zpět do okna z kterého jsem se někam odkazoval se nastaví barva a:visited a potom už na a:hover nereaguje :-( Já chci, aby se bez ohledu na to zdali byl odkaz použitý nebo ne vždy po najetí myší na obrázkový odkaz měnila barva rámečku.
Takže se asi JS nevyhnu a budu muset u každého odkazu vypisovat this.style.BorderColor pro mousehover i mouseout. Nebo ne? |
||
Bubák Profil |
#5 · Zasláno: 14. 7. 2006, 00:21:36
Lorinka
Musíš mít správné deklarace a pseudotřídy ve správném pořadí: :link :visited :active :hover Nepotřebné vynechat. Opravdu se u tohoto obejdeš bez JS. |
||
jogurt Profil |
#6 · Zasláno: 14. 7. 2006, 01:51:51
ty pseudotridy jdou kombinovat, muzes napsat treba i tohle:
a.normalni:visited:hover kdyz napises jenom a:hover, tak je to stejne, jako kdyz napises a:link:hover j |
||
Lorinka Profil * |
#7 · Zasláno: 14. 7. 2006, 09:19:52
Děkuji už mě to funguje jak jsem chtěl :-) měl jsem pseudotřídy ve špatném pořadí :-[
Ještě bych upřesnil ten druhý dotaz možná jsem se špatně vyjádřil. Měl jsem na mysli situaci kdy mám na stránce obrázek <img src="....." name="....." onmouseclick="......." onmousedown="......" alt="...." .....> a pomocí reakcí na událost volám určitou funkci která zobrazí jinou část stránky pomocí DHTML nebo mění obrázek pomocí name a podobně. Takže takový obrázek reaguje na chování myši, ale nedává to uživateli znát změnou kurzoru tak jako to dělají odkazy. Proto to zapisuji pomocí <a href="#" onclick="...."><img src="....." name="...." mousedown="....." alt="...." .....></a> a otázka zní jestli je to takto správně nebo jestli se to dělá jinak (takto to funguje tak jak chci). |
||
peta Profil * |
#8 · Zasláno: 14. 7. 2006, 10:21:40
Lorinka
Mno, podivej, ono jde spustit JS, ktery na vsechny obrazky s ucitou class prida akci onmouseover down a pod. Totez jde udelat pro vsechny IMG v DIv s class="neco". Jinak pry neni spravne pouzivat Acko tam, kde nenastane presmerovani na stranku nebo k cemu je A urceno. Cili <a href="#" onclick="..."> Ale kdyz ti to z tveho pohledu usetri praci a stranka nema komercni vyuziti, tak se to nejak vstreba. Jde o to, ze urciti lide, postizeni, pouzivaji prevadece www na brailovy 6-bodovy zobrazovac a docela spatne se jim pak klika na odkazy, ktere nejsou odkazy. Resp. se divi, co se stalo, ze se nic nestalo :) A pak je tu dalsi kategorie lidi, kteri pouzivaji vselijake textove prohlizece, pripadne prohlizece v mobilech a tam je to podobny. |
||
Lorinka Profil * |
#9 · Zasláno: 14. 7. 2006, 10:36:40
peta ne, ne naopak mě by to práci ulehčilo ;-) zejména pokud jde jak píšeš spustit JS pro určitý class to by mě mohlo poměrně hodně zmenšit samotný kód a také ho zpřehlednit. Ty akce co na stránkách použiju se opakují na několika místech a tak mám všude onmouseover a podobně.
Jestli jsi ochoten mě naznačit jak na to budu rád :-) Že se takto tag A nemá používat jsem si myslel proto jsem se na to ptal. Jak tedy jinak mohu docílit změnu kurzoru např. u několika obrázků v jednom div? předem díky |
||
Lorinka Profil * |
#10 · Zasláno: 16. 7. 2006, 15:52:23
Tak už nikdo nic? :'(
|
||
Časová prodleva: 4 dny
|
|||
jogurt Profil |
#11 · Zasláno: 21. 7. 2006, 02:19:56
kurzor se meni v css:
cursor:pointer; este existujou jiny kurzory: auto crosshair default e-resize help move n-resize ne-resize nw-resize pointer s-resize se-resize sw-resize w-resize wait url |
||
Chamurappi Profil |
#12 · Zasláno: 21. 7. 2006, 09:01:32
Reaguji na jogurta:
Při čemž „pointer“ se původně jmenoval „hand“. |
||
Bubák Profil |
#13 · Zasláno: 22. 7. 2006, 22:34:02
Jestli jsi ochoten mě naznačit jak na to budu rád
Pokud stačí jen naznačit, tak jsem taky rád. 1. expression - příklad s popisem: http://www.tvorba-webu.cz/javascript/expression.php 2. behavior - článek s popise a příkladem http://www.jakpsatweb.cz/css/css-behavior.html Nevýhoda je, že to podporuje pouze IE. |
||
peta Profil * |
#14 · Zasláno: 22. 7. 2006, 23:14:24
Bubák
jeste muzes pouzit htc -> xbl mozilove, ale to zase podporuje pouze ,mozilla :) 1. 2. Ano, IE, ale prave kvuli IE se tam cpe expression nebo behaviour, protoze mozillove si s tim poradi normalne pres css. 3. XML , coz je dobre treba prave pro to htc <!--[if IE]> <style type="text/css"> .menu {behavior:url("csshover.htc");} </style> <![endif]--> ale na intervalu je resen hover i s tim 4. pouzit ten cisty JS, jak uz jsem psal... je to neco podobne tomuto, s tim, ze se porovnava className a jmeno tagu. nejlepe ohranicit to nejakym tagem s nejakou presnou class nebo nejakym peknym tagName... function setxEvent(x,xEvent,xFunction) { if (isIE) {x[xEvent]=new Function(xFunction);} //IE else {x.setAttribute(xEvent,xFunction);} //other } /* Add onclick on first B tag (JS DOM) */ function addB() {var i,j,c,d,div; div=document.getElementById("chat").childNodes; for(i=0;i<div.length;i++) { c=div[i].childNodes; for(j=0;j<c.length;j++) { if(c[j].nodeType==1 && Boolean(c[j].getElementsByTagName("b")[0])) { d=c[j].getElementsByTagName("b")[0]; setxEvent(d,'onclick','chatLineAdd(this)'); } } } } <div id="chat"> <div id="t1234"><b>nick1</b> -- <b>nick2</b> :: text</div> <div id="t1235"><b>nick1</b> -- <b>nick2</b> :: text</div> <div id="t1236"><b>nick1</b> -- <b>nick2</b> :: text</div> </div> |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0