Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][HTML]Magic Line + submenu nie działa. Pomoc w JS.
Forum PHP.pl > Forum > Przedszkole
casperii
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ł ?
miki22
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?
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.