Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][CSS][jQuery] problem z podmianą
Forum PHP.pl > Forum > Przedszkole
sweter
Witam, mam taki problem:

Mam sobie diva, który jest opisany w arkuszu stylów tak:

  1.  
  2. .div {
  3.   width:100%;
  4.   border-top:1px dashed #B4CEFF;
  5.   padding:5px;
  6.   color:#676767;
  7.  }
  8.  
  9.  
  10. .div:hover{
  11.  
  12.   background-color:#F6F8FD;
  13.  
  14. }
  15.  


I gdy user kliknie pewien link to wyświetl się inny div:

  1.  
  2. var oferta = "1";
  3.   $("a").click(function(){
  4.   $("#oferta1_on").slideToggle("normal");
  5.   if(oferta==1){
  6.   $("#div").css("background-color","#F6F8FD");
  7.   oferta = 0;
  8.   }else{
  9.   $("#div").css("background-color","#FFFFFF");
  10.   oferta = 1;
  11.   }
  12.   });
  13.  
  14.  


Możecie mi wytłumaczyć, czemu po dwukrotnym kliknięciu w linku (czyli zmienna oferta zmienia swoją ofertę z 1 na 0 i z powrotem na 1) nie dział mi już powyższy fragment CSS, tzn. po naprowadzeniu kursora nad div nie zmienia on swojego tła?
owned
ja bym radził ten hover też w JS napisać bo z IE możesz mieć jaja
singles
Cytat(sweter @ 17.08.2009, 16:47:02 ) *
Możecie mi wytłumaczyć, czemu po dwukrotnym kliknięciu w linku (czyli zmienna oferta zmienia swoją ofertę z 1 na 0 i z powrotem na 1) nie dział mi już powyższy fragment CSS, tzn. po naprowadzeniu kursora nad div nie zmienia on swojego tła?


Wydaje mi się, że problem leży w następującej kwestii:

Nic mi nie wiadomo, żeby JS (czyli też jQuery) potrafił edytować style CSS inne niż inline. Jak sobie podejrzysz w Firebugu, to zobaczysz że .css() dodaje Ci atrybut "style". A jak wiadomo, atrybuty inline w stylowaniu są najważniejsze. W momencie, kiedy chcesz wrócić do stylów z zewnętrznych arkuszy CSS, możesz spróbować w użyć metody removeAttr('style') na tym divie w momencie, kiedy nie chcesz już podświetlenia.

@owned ma rację co do tego hovera. Dla pewności możesz zrobić z tego diva link blokowy, i wtedy zadziała. Albo skorzystać z hover() w jQuery.
owned
Cytat(singles @ 17.08.2009, 21:20:39 ) *
@owned ma rację co do tego hovera. Dla pewności możesz zrobić z tego diva link blokowy, i wtedy zadziała. Albo skorzystać z hover() w jQuery.

Wydaje mi się że hover() w jQuery będzie lepszym rozwiązaniem
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.