Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript][HTML]Magic Line + submenu nie działa. Pomoc w JS.
casperii
post
Post #1





Grupa: Zarejestrowani
Postów: 681
Pomógł: 28
Dołączył: 14.08.2014

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


Panowie skorzystałem z jednego tutka, tak aby po najechaniu na <li> utworzyć klase z płynnym wyświetleniem linii nad danym <li>.
Wszystko ok, ale jak dodam kolejne podmenu w menu to już się rozjeżdza linia:

obrazek tutaj
Poniżej kod JS:

  1. <script type='text/javascript'>
  2. $(window).load(function(){
  3. $(function() {
  4.  
  5. var $el, leftPos, newWidth,
  6. $mainNav = $("#main-menu");
  7.  
  8. $mainNav.append("<div id='magic-line'></div>");
  9. var $magicLine = $("#magic-line");
  10.  
  11.  
  12.  
  13. $magicLine
  14. .width($(".top_menu").width())
  15. .css("left", $(".top_menu").position().left)
  16. .data("origLeft", $magicLine.position().left)
  17. .data("origWidth", $magicLine.width());
  18.  
  19. $("#main-menu li").hover(function() {
  20. $el = $(this);
  21. leftPos = $el.position().left;
  22. newWidth = $el.parent().width();
  23. $magicLine.stop().animate({
  24. left: leftPos,
  25. width: newWidth
  26. });
  27.  
  28.  
  29. }, function() {
  30. $magicLine.stop().animate({
  31. left: $magicLine.data("origLeft"),
  32. width: $magicLine.data("origWidth")
  33. });
  34. });
  35.  
  36.  
  37.  
  38. $('#main-menu li:not("")').hover(
  39. function(){ $('#magic-line').addClass('hover'); },
  40. function(){ $('#magic-line').removeClass('hover'); }
  41. );
  42.  
  43.  
  44. });
  45.  
  46. });


Ktoś może ma pomysł ?

Ten post edytował casperii 23.01.2016, 15:58:53
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
miki22
post
Post #2





Grupa: Zarejestrowani
Postów: 18
Pomógł: 2
Dołączył: 2.03.2012

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


Trochę łamię piękną zasadę: "nie wiesz o co biega -siedź cicho!". Bez kodu HTML, który ten JS modyfikuje trochę trudno się zorientować. Ale nasunęło mi się pewne pytanie, które - może - ci pomoże (dlatego zdecydowałem się złamać ową godną polecenia zasadę).
Po co ci wgl ten JS? JS występuje tutaj jedynie jako pośrednik między HTML a CSS. Nie lepiej napisać to w CSS w oparciu o pseudoklasę :hover?
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: 19.08.2025 - 20:34