Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> PROBLEM Z MENU W JQUERY
Artu123
post
Post #1





Grupa: Zarejestrowani
Postów: 211
Pomógł: 0
Dołączył: 8.12.2008

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


Witam!

Napisałem swój skrypt menu w jQuery .

link do menu

Gdy najedziemy na kilka linków w menu to taki bałagan się robi . Da się jakoś zrobić , że jak najedziemy na 5 linków , to nie że po kolei zmienia pozycje to podświetlenie i szerokość, tylko od razu zmienia pozycje i szerokość do ostatniego najechanego linku ?

Kod
    $(document).ready(function() {
    
        $("#LinkiDojQuery ul").css("display", "none");
        $("#LinkiDojQuery ul").eq(0).css("display", "block");
            
        $("#HeaderMenuLi a").hover(function(){
        
            var element_index = $("#HeaderMenuLi a").index(this);
                        
            if(element_index == "0") {
                var przejscie = "10px";
                var szerokosc = "108px";
            }
            if(element_index == "1") {
                var przejscie = "128px";
                var szerokosc = "100px";
            }
            if(element_index == "2") {
                var przejscie = "236px";
                var szerokosc = "100px";
            }
            if(element_index == "3") {
                var przejscie = "346px";
                var szerokosc = "108px";
            }
            if(element_index == "4") {
                var przejscie = "465px";
                var szerokosc = "70px";
            }
            if(element_index == "5") {
                var przejscie = "545px";
                var szerokosc = "77px";
            }
            if(element_index == "6") {
                var przejscie = "631px";
                var szerokosc = "64px";
            }
            
            $("#Podswietlenie").animate({marginLeft: przejscie});
            $("#Podswietlenie").animate({width: szerokosc});
            
            $("#LinkiDojQuery ul").css("display", "none");
            $("#LinkiDojQuery ul").css("opacity", ".0");
            $("#LinkiDojQuery ul").eq(element_index).css("display", "block");
            $("#LinkiDojQuery ul").eq(element_index).animate({opacity: "1.0"});
            
        });
    });


to kod jQuery .
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
vokiel
post
Post #2





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

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


Tak się dzieje, gdy przesuwasz kursor nad wszystkimi elementami po drodze, jeśli zjedziesz na dół, przejedziesz na wybrany element i wjedziesz znów nad menu tak się nie dzieje, zatem sprawa wygląda tak, że przy hover aktywowana jest funkcja dla każdego z elementu po kolei.

Czyli trzeba poszukać rozwiązania na jakieś buforowanie tego hovera, albo zatrzymywanie poprzednio uruchomionych akcji dla poprzedniego hovera (coś jakby funcja stop())
Go to the top of the page
+Quote Post
pawkow
post
Post #3





Grupa: Zarejestrowani
Postów: 76
Pomógł: 7
Dołączył: 30.09.2006

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


http://www.pengoworks.com/workshop/jquery/stop_bug_fix.htm

Powinno pomóc (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Ten post edytował pawkow 27.04.2009, 23:00:34
Go to the top of the page
+Quote Post
Artu123
post
Post #4





Grupa: Zarejestrowani
Postów: 211
Pomógł: 0
Dołączył: 8.12.2008

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


Kod
            $("#Podswietlenie").stop();
                        
            $("#Podswietlenie").animate({marginLeft: przejscie});
            $("#Podswietlenie").animate({width: szerokosc});


Nadal nie działa a powinno .
Go to the top of the page
+Quote Post
vokiel
post
Post #5





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

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


Może tak:
  1. <?php
  2. $("#Podswietlenie").stop().animate({marginLeft: przejscie,width: szerokosc});
  3. ?>


Tak w ogóle to używaj chains:
  1. <?php
  2. $("#LinkiDojQuery ul").eq(element_index).css({display: "block"}).animate({opacity: "1.0"});
  3. $("#LinkiDojQuery ul").css({display: "none", opacity: ".0"});
  4. ?>
Go to the top of the page
+Quote Post

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: 25.08.2025 - 06:43