Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z animowanym menu w javascript
Forum PHP.pl > Forum > Po stronie przeglądarki
Domin1234
Witam, moje animowane menu jest w javascripcie. Składa się z pięciu kategorii. Problem polega na tym, że jeżeli
dodam sobie jeszcze jedną lub więcej albo usunę jedą to po kliknięci kategorii robi się czary prostokąt.
Przed dodaniem po kliknięciu pozostaje podświetlony na biało. Poniżej wycinek z indexu:
  1. <header>
  2. <h1><a href="index.html" id="logo">Thom Sander Photographers Portfolio</a></h1>
  3. <nav>
  4. <ul id="menu">
  5. <li><a href="#!/page_Home"><span></span><strong>Home Page</strong></a></li>
  6. <li><a href="#!/page_About"><span></span><strong>About</strong></a></li>
  7. <li><a href="#!/page_Portfolio"><span></span><strong>Portfolio</strong></a></li>
  8. <li><a href="#!/page_Services"><span></span><strong>My Services</strong></a></li>
  9. <li><a href="#!/page_Contact"><span></span><strong>Contact</strong></a></li>
  10. </ul>
  11. </nav>
  12. </header>

oraz z css:
  1. header {width:360px;float:left}
  2. #logo {display:block;text-indent:-9999px;background:url(../images/logo.png) 0 0 no-repeat;width:280px;height:153px}
  3. #menu {padding-top:122px}
  4. #menu > li {width:100%;overflow:hidden;padding-bottom:4px}
  5. #menu > li > a {display:inline-block;font-size:26px;line-height:54px;height:56px;color:#fff;background:#000;text-decoration:none;position:relative;letter-spacing:0px;cursor:pointer}
  6. #menu > li > a span {display:block;background:#fff;position:absolute;width:100%;height:100%;top:0;left:0}
  7. #menu > li > a strong {position:relative;display:block;padding:0 95px 0 40px;height:56px}
  8. #menu > li > a:hover, #menu > li > a.active {color:#000}
  9. #menu > li > a:hover strong, #menu > li > a.active strong{}

menu wygląda tak:
http://sendfile.pl/203816/1.jpg
Proszę o pomoc!
Kshyhoo
U mnie działa, dodałem nową pozycję NEW. http://jsfiddle.net/cE3vV/
Domin1234
Po najechaniu kursorem jest ok ale jak się kliknie to napis znika i zostaje czarny prostokąt.
Prawidłowo powinno być tak:
- po najechaniu podświetla się czarny napis na biało i po kliknięciu tak zostaje.
Kshyhoo
No to odwróć kolory, czarny napis na czarnym tle ma być widoczny?
Domin1234
Przed najechaniem wygląda tak:

http://sendfile.pl/203816/1.jpg

Po najechaniu tak:

http://sendfile.pl/203861/2.jpg


Natomiast jeżeli dodam kolejną kategorię do menu to po kliknięciu jest czarny prostokąt.
Tylko na tej dodanej pozycji. Pozostałe sa ok. Może to jakaś funkcja? Kolejność ma tu znaczenie?
Przerabiam darmowy szablon i miałem kilka problemów ale jak na razie daje radę smile.gif
Kshyhoo
A masz jakiś kod JS do tego? Pokaż dok, jak dodajesz.
Domin1234
Dodaje tak samo. Poniżej skrypt:
[JAVASCRIPT] pobierz, plaintext
  1. $(document).ready(function() {
  2.  
  3. $('.close span, .button1 span, .tabs .nav li a span, .lightbox-image span ').css({opacity:'0'})
  4. $('.tabs .nav .selected a span').css({opacity:'1'})
  5.  
  6. $('.close, .button1').hover(function(){
  7. $(this).find('span').stop().animate({opacity:'1'})
  8. }, function(){
  9. $(this).find('span').stop().animate({opacity:'0'})
  10. })
  11.  
  12. $('.lightbox-image').hover(function(){
  13. $(this).find('span').stop().animate({opacity:'0.4'})
  14. }, function(){
  15. $(this).find('span').stop().animate({opacity:'0'})
  16. })
  17.  
  18. $('.tabs .nav li a').hover(function(){
  19. $(this).find('span').stop().animate({opacity:'1'})
  20. }, function(){
  21. if (!$(this).parent().hasClass('selected')) {
  22. $(this).find('span').stop().animate({opacity:'0'})
  23. }
  24. })
  25.  
  26. //tabs
  27. tabs.init();
  28.  
  29. // prettyPhoto
  30. $("a[data-type^='prettyPhoto']").prettyPhoto({theme:'light_square'});
  31.  
  32. //bg animate
  33. $('#bgSlider').bgSlider({
  34. duration:1200,
  35. pagination:'.pagination',
  36. preload:true,
  37. spinner:'.bg_spinner'
  38. })
  39.  
  40. });
[JAVASCRIPT] pobierz, plaintext
Kshyhoo
Umieść kod w odpowiednich znacznikach.
Ja nie widzę związku JS z problemem.
Domin1234
Może w css? Zerknij proszę:
  1. /* ============================= header ====================== */
  2. header {width:360px;float:left}
  3. #logo {display:block;text-indent:-9999px;background:url(../images/logo.png) 0 0 no-repeat;width:280px;height:153px}
  4. #menu {padding-top:122px}
  5. #menu > li {width:100%;overflow:hidden;padding-bottom:4px}
  6. #menu > li > a {display:inline-block;font-size:26px;line-height:54px;height:56px;color:#fff;background:#000;text-decoration:none;position:relative;letter-spacing:0px;cursor:pointer}
  7. #menu > li > a span {display:block;background:#fff;position:absolute;width:100%;height:100%;top:0;left:0}
  8. #menu > li > a strong {position:relative;display:block;padding:0 95px 0 40px;height:56px}
  9. #menu > li > a:hover, #menu > li > a.active {color:#000}
  10. #menu > li > a:hover strong, #menu > li > a.active strong{}
  11. /* ============================= content ====================== */
  12.  
  13. #content {height:868px;width:740px;float:left;position:relative}
  14. #content > ul > li {position:relative;height:868px;width:100%;bottom:0}
  15. .box1 {background:url(../images/bg_content.png) repeat;width:100%;height:100%;position:absolute;top:0;left:0}
  16. .inner {padding:25px 55px 25px 60px;position:relative}
  17. .close {position:absolute;top:20px;right:20px;width:25px;height:25px;background:url(../images/close.gif) 0 0 no-repeat;display:block}
  18. .close span {display:block;background:url(../images/close.gif) 0 bottom no-repeat;width:100%;height:100%}
  19. .pad_left1 {padding-left:60px}
  20. .pad_bot1 {padding-bottom:25px}
  21. .pad_bot2 {padding-bottom:4px}
  22. .pad_bot3 {padding-bottom:10px}
  23. .marg_right1 {margin-right:29px}
  24. #page_Services .pad_bot3 {padding-bottom:15px}
  25. #content figure {padding-top:5px}
  26. .button1 {display:inline-block;font-size:16px;color:#000;text-transform:uppercase;text-decoration:none;background:#fff;line-height:33px;position:relative}
  27. .button1 span {position:absolute;top:0;left:0;width:100%;height:100%;background:#000}
  28. .button1 strong {position:relative;font-weight:400;display:block;padding:0 14px;letter-spacing:-1px}
  29. .button1:hover {color:#fff}
  30. .date {float:left;width:52px;margin-right:17px;text-align:center;font-size:49px;font-weight:700;color:#fff;letter-spacing:-1px;line-height:1.2em}
  31. .date strong {margin-top:-9px;display:block}
  32. .date span {font-weight:400;font-size:25px;line-height:1.2em;margin-top:-13px;display:block}
  33. .color1 {color:#fff}
  34. .list1, .list2 {margin-top:-2px}
  35. .list1 li, .list2 li {line-height:24px}
  36. .list1 a, .list2 a {padding-left:10px;background:url(../images/marker_1.gif) 0 6px no-repeat;text-decoration:none}
  37. .list1 a:hover {color:#fff}
  38. .list2 a {color:#fff}
  39. .list2 a:hover {color:#808080}
  40. .tabs .nav {padding-top:5px}
  41. .tabs .nav li {line-height:28px;padding-bottom:2px}
  42. .tabs .nav li a {position:relative;font-size:16px;letter-spacing:-1px;text-transform:uppercase;text-decoration:none;height:28px;line-height:26px;padding:0 39px 0 9px;color:#fff;background:#000;display:inline-block}
  43. .tabs .nav li a span {display:block;position:absolute;top:0;left:0;width:100%;height:100%;background:#fff}
  44. .tabs .nav li a strong {font-weight:400}
  45. .tabs .nav li a:hover, .tabs .nav .selected a {color:#000}
  46. .tab-content figure {padding-bottom:15px}
  47. .tab-content figure.marg_right1 {margin-right:20px}
  48. /* Lightbox image */
  49. .lightbox-image {position:relative;overflow:hidden;display:block;background:#fff;z-index:1}
  50. .lightbox-image img {position:relative;z-index:1}
  51. .lightbox-image > span {display:block;position:absolute;left:0;top:0;width:100%;height:100%;background:url(../images/border.gif) 0 0 no-repeat;z-index:2}
  52. .pp_details {height:0;padding:0;margin:0;font-size:0;line-height:0;visibility:visible !important}
  53. .pp_description {display:none;height:0;padding:0;margin:0;font-size:0;line-height:0}
  54. .pp_close {position:absolute;z-index:99;top:-30px;right:0;display:none !important}
  55. div.light_square .pp_next {position:absolute;top:48%;right:-68px;width:35px;height:35px;background:url(../images/marker_right.gif) left top no-repeat;visibility:visible !important}
  56. div.light_square .pp_next:hover {background-position:bottom}
  57. div.light_square .pp_previous {position:absolute;top:48%;left:-68px;width:35px;height:35px;background:url(../images/marker_left.gif) left top no-repeat;visibility:visible !important}
  58. div.light_square .pp_previous:hover {background-position:bottom}
  59. .pp_arrow_previous, .pp_arrow_next {display:none !important}
  60. .link1 {color:#fff;text-decoration:none}
  61. .link1:hover {text-decoration:underline}
Kshyhoo
Popraw bb-code, inaczej zamknę wątek.

Istnieje opcja EDYTUJ, nie trzeba od razu nowy post. I są odpowiednie znaczniki do kolorowania składni.
Co do problemu. Powtarzam po raz ostatni: brakuje w kodzie CSS opcji po odwiedzeniu odnośnika, czyli np:
  1. #menu > li > a:visited { }

Domin1234
Ok. Wpisałem. Nie pomogło. Tak to wygląda. Ostatnia kategoria.

http://sendfile.pl/203913/3.jpg

Kshyhoo
Pokaż kod!
Domin1234
Kod jest powyżej (css). Wpisałem to co mi przysłałeś w sekcję header
Kshyhoo
Napiszę jeszcze raz, pokaż kod, który wpisałeś.
Domin1234
Wpisałem dokładnie Twój przykład. Wiem, że dla Ciebie wydaję się to oczywiste ale prosze o wyrozumiałość smile.gif
Kshyhoo
No to wpisałeś pustą deklarację, gratuluję pomysłu...
Musisz nadać mu tło i kolor czcionki.
Domin1234
Kod
    #menu > li > a:visited {color:#fff;background:#000}


Teraz będzie ok?

Również nic to nie dało sad.gif

Ma ktoś jakiś pomysł?
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.