Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: mouseover mouseout i click
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
bor1904
Witam,
Niby banalna sprawa a jednak nie moge wpaść na proste rozwiązanie,

Mam kilka obiektów które po najechaniu przewijają swój bckg na czarnobiały ipo zdjęciu kursowa wracają na swoje miejsce.
Chciałbym by po click zostawał monochromatyczny widok (czyli nie zadziałało mouseover)...

Jak to zrobić najlepiej?

dziekuje


Talidali
Daj kod na jsfiddle.net
kamil4u
W zadzrzeniu click usunąć callback ze zdarzenia mouseover.

W zależności od metody:
- this.onmouseover = null;
- removeEventListener
bor1904
Witam,
Po całonocnej lekturze myśle że zrobiłem to najbardziej poprawnie jak się da tzn. wykorzystałem funkcje on/off (stare bind/unbind).

Podpiąłem do danego obiektu wszystkie 3 zdarzenia przy czym zdarzenie click odpinało od obiektu powiązanie z mouseout... i to cała histroyja.


pozdrawiam i dziekuje za kontakt
kamil4u
Czyli tak jak pisałem. Nie wspominałeś, że korzystasz z jQuery, dlatego podałem rozwiązanie w czystym JS smile.gif
Crozin
Obsługę "po najechaniu" możesz zrobić w czystym CSS-ie, zaś obsługę "po kliknięciu" częściowo w JS-ie trzeba.
  1. <div class="myElement">xx</div>
[JAVASCRIPT] pobierz, plaintext
  1. $("myElement").on("click", function() {
  2. $(this).toggleClass("clicked");
  3. });
[JAVASCRIPT] pobierz, plaintext
  1. .myElement {
  2. width: ...px;
  3. height: ...px;
  4.  
  5. background: url(...) no-repeat;
  6. }
  7.  
  8. .myElement:hover, .myElement.clicked {
  9. background-position: 50% 0;
  10. }
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.