Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript] Pobranie i zwrócenie klasy
php11
post
Post #1





Grupa: Zarejestrowani
Postów: 215
Pomógł: 5
Dołączył: 11.02.2011

Ostrzeżenie: (0%)
-----


Mokrego Dyngusa!!!

;-)


Mam dwie listy (ul class="aaaaa" oraz ul class="bbbbb"), których elementy li mają identyczne klasy.
Chciałbym, by po najechaniu myszą na jeden element listy do bliźniaczego dodała się klasa hover.

Umiem to zrobić oddzielnie dla każdego elementu, ale nie za bardzo to eleganckie :-D

To jest pewnie kod wyjściowy (hover dodawany jest do wszystkich li)...

  1.  
  2. $(document).ready(function(){
  3. $(".aaaaa li").hover(function() {
  4.  
  5. $(".bbbbb li").addClass('hover');
  6. }, function(){
  7. $('.bbbbb li').removeClass('hover');
  8.  
  9. });
  10. });
  11. });
  12.  


Klasę chyba nie do końca pobieram dobrze - w konsol tworzy się wiele duplikatów.

  1.  
  2. $(document).ready(function(){
  3. $(".aaaaa li").hover(function() {
  4.  
  5.  
  6. var klasa = $(this).attr('class');
  7. console.log( klasa );
  8.  
  9.  
  10. $(".bbbbb li").addClass('hover');
  11. }, function(){
  12. $('.bbbbb li').removeClass('hover');
  13.  
  14. });
  15. });
  16. });
  17.  
  18.  



Ale i tak nie potrafię jej poprawnie dopisać :-)

Dzięki

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
php11
post
Post #2





Grupa: Zarejestrowani
Postów: 215
Pomógł: 5
Dołączył: 11.02.2011

Ostrzeżenie: (0%)
-----


Bardzo dziękuję, w życiu bym nie wyskrobał czegoś takiego na telefonie...

Twój kod czyści klasę hover, ale tylko w liście, nad którą jest kursor, a zależy mi na tej drugiej liście właśnie.
Czyli to, ale działające dla listy bbbbb.

  1. $(".aaaaa li").mouseout(function(){
  2. var x = this.className;
  3. var y = document.getElementsByClassName(x).length;
  4. for (i = 0; i < y; i++) {
  5. var newArray = document.getElementsByClassName(x)[i].className.split(" ");
  6. document.getElementsByClassName(x)[i].className = newArray[0];
  7. }
  8. });


Jeszcze raz bardzo dziękuję :-)


p.s. Ja to sobie myślałem, że wystarczy jakiś "prosty" if else...

Znalazłem kod, który dodaje i usuwa klasę, ale nie potrafię przerobić go, by to robił w bliźniaczej, tej drugiej liście...

  1. $('.aaaaa li').hover(function (){
  2. $(this).addClass("hoveredClass");
  3. },function(){
  4. $(this).removeClass("hoveredClass");
  5. });
  6.  
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 13.10.2025 - 14:27