Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> jquery - zamiana stylów.
ats2008
post
Post #1





Grupa: Zarejestrowani
Postów: 58
Pomógł: 0
Dołączył: 11.06.2009
Skąd: Lublin

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


Witajcie.

W kontenerze div#left mam kilka menu (joomla, każde ładowane dynamicznie).

Chcę zmienić tło div#left w zależności od tego jakie menu się wyświetli.

Stworzyłem taki skrypt w jquery (plugin zgodności z jquery jest):

  1. <script type="text/javascript">
  2. $(document).ready(function(){
  3.  
  4. if ($('ul.menu1')) //jeśli jest ul 0 clasie menu1
  5. {
  6. $('div#left').css('background', '#165b94'); // zmień tło contenera.
  7. }
  8.  
  9. else if ($('ul.menu2'))
  10. {
  11. $('div#left').css('background', '#dc8500');
  12. }
  13. else if ($('ul.menu3'))
  14. {
  15.  
  16. $('div#left').css('background', '#172e5d');
  17. }
  18. else if ($('ul.menu4'))
  19. {
  20. $('div#left').css('background', '#ec6f00');
  21. }
  22. });
  23. </script>


Nie wiem, gdzie tutaj jest błąd. Normalnie tło #left nie jest ustalone.

Skrypt działa dziwnie, bo zmienia tylko 2 pierwsze menu, a każde następne ma kolor 2-ego menu...

w ie7 działał tylko do czasu, jak miałem tylko 2 menu ustalone, potem w ogóle przestał wyświetlać skrypt...

widzicie jakiś błąd? Składnie jest przecież identyczna.

Próbowałem też z takim zapisem warunku:
if if($('ul').attr('class') == 'menu1') {}; ale też to nic nie dało...

Z góry mówię, że odpada nadawanie tła każdemu menu w cssie...

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





Grupa: Zarejestrowani
Postów: 872
Pomógł: 94
Dołączył: 31.03.2010

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


nie powinno byc
  1. $('div#left').css('backgroundColor', '#165b94');
?
Go to the top of the page
+Quote Post
Vercio
post
Post #3





Grupa: Zarejestrowani
Postów: 56
Pomógł: 0
Dołączył: 16.07.2010

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


Cytat(lukaskolista @ 21.12.2010, 09:13:20 ) *
nie powinno byc
  1. $('div#left').css('backgroundColor', '#165b94');
?
Może występować samo background.

Co do błędu przypuszczam że będzie to budowanie na if'ach, jeden warunek został już spełniony i dalej już ci nie pójdzie. Spróbuj na CASE zrobić albo wyrzuć else if i daj same if'y. Powinno pomóc.

Ten post edytował Vercio 28.12.2010, 14:14:09
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: 21.08.2025 - 22:43