Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][CSS][jQuery] problem z podmianą
sweter
post
Post #1





Grupa: Zarejestrowani
Postów: 623
Pomógł: 11
Dołączył: 1.01.2009
Skąd: Wrocław

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


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?

Ten post edytował sweter 17.08.2009, 15:48:30


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
owned
post
Post #2





Grupa: Zarejestrowani
Postów: 88
Pomógł: 1
Dołączył: 27.12.2007

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


ja bym radził ten hover też w JS napisać bo z IE możesz mieć jaja
Go to the top of the page
+Quote Post
singles
post
Post #3





Grupa: Zarejestrowani
Postów: 121
Pomógł: 26
Dołączył: 2.07.2007

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


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.

Ten post edytował singles 17.08.2009, 20:21:24


--------------------
Works for me => u mnie działa - blog o (o)programowaniu i nie tylko
meet.php - darmowe meetupy związane z PHP
Go to the top of the page
+Quote Post
owned
post
Post #4





Grupa: Zarejestrowani
Postów: 88
Pomógł: 1
Dołączył: 27.12.2007

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


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
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 09:42