Nawigacja
Efekt RollOver
Napisane przez Gander
dnia 10 grudnia 2006 11:12 ·
4 komentarze ·
11800 czytań ·
·
·
Streszczenie:
Czym jest efekt RollOver? Jest to podmiana obrazka na inny, gdy przesunie si? nad niego kursor myszy. W niniejszym artykule przedstawi? kod i krótkie wyja?nienie zasady dzia?ania efektu RollOver z wykorzystaniem JavaScript oraz CSS.
Czym jest efekt RollOver? Jest to podmiana obrazka na inny, gdy przesunie si? nad niego kursor myszy.
W niniejszym artykule przedstawi? kod i krótkie wyja?nienie zasady dzia?ania efektu RollOver z wykorzystaniem JavaScript oraz CSS.
JavaScript | ||
![]() ![]() |
→ | ![]() |
Jak wida? z powy?szego przyk?adu, do efektu RollOver z wykorzystaniem JavaScript potrzeba dwóch obrazków. Poni?ej zamieszczam kod który u?y?em w przyk?adzie:
<a href='#'><img src='obrazek1.png' onMouseOver='this.src="obrazek2.png"' onMouseOut='this.src="obrazek1.png"'></a>
Zdarzenia ruchu kursora nad obrazkiem s? rejestrowane przez polecenia onMouseOver (kursor przesuni?ty nad obrazek) i onMouseOut (kursor przesuni?ty znad obrazka).
W obu przypadkach wywo?ywane jest polecenie this.src='nowy_adres' co oznacza ?e adres obecnego obiektu (obrazka) zostaje zmieniany na nowy_adres.
Jak to dzia?a? To proste. Po wczytaniu strony widoczny jest obrazek1.png (ja?niejszy).
Po przesuni?ciu kursora myszy nad obrazek wykonuje si? polecenie JavaScript i adres zostaje zmieniony na obrazek2.png (ciemniejszy).
Je?li zabierzemy kursor znad obrazka, wykona si? drugie polecenie i zostanie przywrócony pierwotny rysunek (ja?niejszy).
CSS | ||
![]() |
→ | ![]() |
Jak wida? z powy?szego przyk?adu, do efektu RollOver z wykorzystaniem CSS potrzeba tylko jednego obrazka, ale podwójnego. Poni?ej zamieszczam kod który u?y?em w przyk?adzie:
a.RollOver { width:50px; display:block; overflow:hidden; }
a.RollOver:hover { zoom:1; display:block; }
a.RollOver img { border:0; margin:0; height:50px; display:block; }
a.RollOver:hover img { margin-left:-50px; }
<a href='#' class='RollOver'><img src='obrazek.png' alt=''></a>
Efekt RollOver wykonany zosta? tutaj poprzez wykorzystanie selektora pseudoklasy :hover, który umo?liwia dynamicznie zmienia? wygl?d linku w zale?no?ci od jego stanu.
Co ma link do efektu? Bardzo du?o, gdy? obrazek w tym przypadku jest potomkiem linku.
Mo?na dzi?ki tej zale?no?ci modelowa? wygl?d i zachowanie obrazka.
Jak to dzia?a? Bardzo ?adnie :) W stanie spoczynku, dzi?ki powy?szym ustawieniom widoczna jest lewa po?owa obrazka, reszta za? jest ukrywana (overflow:hidden). Po przesuni?ciu kursora myszki nad link, lewy margines znajduj?cego si? w nim obrazka zostaje przesuni?ty w lewo o 50px (margin-left:-50px) dzi?ki czemu wida? praw? cz??? obrazka. Po usuni?ciu kursora znad linku, wszystko wraca do pierwotnego stanu.
Efekt RollOver nawala w Internet Explorerze, gdy: zabraknie zapisu a.RollOver:hover { zoom:1; display:block; }, lub doda si? wysoko?? w a.RollOver { width:50px; display:block; overflow:hidden; }.
Jak to dzia?a? Bardzo ?adnie :) W stanie spoczynku, dzi?ki powy?szym ustawieniom widoczna jest lewa po?owa obrazka, reszta za? jest ukrywana (overflow:hidden). Po przesuni?ciu kursora myszki nad link, lewy margines znajduj?cego si? w nim obrazka zostaje przesuni?ty w lewo o 50px (margin-left:-50px) dzi?ki czemu wida? praw? cz??? obrazka. Po usuni?ciu kursora znad linku, wszystko wraca do pierwotnego stanu.
Efekt RollOver nawala w Internet Explorerze, gdy: zabraknie zapisu a.RollOver:hover { zoom:1; display:block; }, lub doda si? wysoko?? w a.RollOver { width:50px; display:block; overflow:hidden; }.
Zach?cam do lektury! Tu jest wszystko lepiej napisane ni? ja umia?bym wyt?umaczy? :)
Kurs HTML - strona WWW za darmo
Riddle's Jogger - Efekt rollover w CSS
Riddle's Jogger - Jeszcze lepszy efekt rollover w CSS
Kurs HTML - strona WWW za darmo
Riddle's Jogger - Efekt rollover w CSS
Riddle's Jogger - Jeszcze lepszy efekt rollover w CSS
Podane przyk?ady zosta?y przetestowane na poni?szych przegl?darkach:
Internet Explorer 6.0, Mozilla 1.7, Mozilla Firefox 1.5 i 2.0, Netscape Browser 8.1, Opera 9.0, Konqueror 3.5
Internet Explorer 6.0, Mozilla 1.7, Mozilla Firefox 1.5 i 2.0, Netscape Browser 8.1, Opera 9.0, Konqueror 3.5
Komentarze
#1 |
Pieka
dnia 11 grudnia 2006 23:16
#2 |
Leo
dnia 13 grudnia 2006 23:28
#3 |
ultralowbird
dnia 11 marca 2007 10:18
#4 |
Kinimodek
dnia 06 listopada 2008 06:36
Dodaj komentarz
Zaloguj się, aby móc dodać komentarz.
Oceny
Tylko zarejestrowani użytkownicy mogą oceniać zawartość strony
Zaloguj się lub zarejestruj, żeby móc zagłosować.
Zaloguj się lub zarejestruj, żeby móc zagłosować.
Świetne! | ![]() |
100% | [5 głosów] |
Bardzo dobre | ![]() |
0% | [0 głosów] |
Dobre | ![]() |
0% | [0 głosów] |
Średnie | ![]() |
0% | [0 głosów] |
Słabe | ![]() |
0% | [0 głosów] |