Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jQuery][HTML][CSS] "Jeżdżące" logowanie
Forum PHP.pl > Forum > Po stronie przeglądarki
Krychu1
Witam. Tworzę stronę do tzw. "OTS" za pewien grosz, z tego względu troche głupio mi zapytać. Dużo już poszperałem w internecie ale ciężko znaleźć odpowiedź akurat na mój mały problem. Zapewne jego rozwiązanie to przełożenie kilku kodów w inne miejsce i to wszystko, ale od 10 przy tym siedze i jednak nerwy mi puszczają - niby proste, a jednak trudne. tongue.gif

Tak, więc wstawiłem na stronę tzw. jeżdżące menu. Wszystko działa w nim tak jak należy, jednak jest mała niedogodność. Chce aby menu przy otwarciu strony było "zasunięte", a nie "rozsunięte".
Myślałem także nad tym aby forma w jakiej użytkownik zostawił te menu (czyli np. zasunięte) pozostawała taka sama przy przeskakiwaniu po działach, jednak musiałbym wprowadzić zbyt dużo zmian w całym kodzie strony - na co nie mam czasu.

Kod wygląda następująco:

  1. <div id="menu">
  2. <div id="panel">
  3. <h2>Logowanie</h2>
  4. <form>
  5. Nazwa: <input type="text" />
  6. Hasło: <input type="text" />
  7. <input type="submit" value="Zaloguj"/>
  8. </form>
  9. <div id="wsun">
  10. <a href="#">? schowaj okno logowania</a></div>
  11. </div>
  12. </div>
  13. <div id="wysun">
  14. <span>?</span>
  15. </div>


[JAVASCRIPT] pobierz, plaintext
  1. jQuery(document).ready(function(){
  2. $("#wsun").click(function(){
  3. $("#wysun").show("normal").animate({width:"28px", opacity:1}, 200);
  4. $("#menu").animate({width:"0px", opacity:0}, 400 );
  5. $("#panel").animate({marginLeft:"-250px"}, 400 );
  6. });
  7.  
  8. $("#wysun").click(function(){
  9. $("#menu").animate({width:"250px", opacity:1}, 400 );
  10. $("#panel").animate({marginLeft:"0px"}, 400 );
  11. $("#wysun").animate({width:"0px", opacity:0}, 600).hide("slow");
  12. });
  13. });
[JAVASCRIPT] pobierz, plaintext


  1. #menu {
  2. width: 250px;
  3. margin-top: 10px;
  4. float: left;
  5. overflow: hidden;
  6. color: #FFFFFF;
  7. background-image: url(images/js_menu_bg.png);
  8. background-repeat: repeat-y repeat-x;
  9. }
  10. #menu h2 {
  11. text-align: center;
  12. }
  13. #wysun {
  14. position: inherit;
  15. z-index: 2;
  16. left: 0;
  17. float: left;
  18. padding-top: 40px;
  19. display: none;
  20. width: 0px;
  21. height: 100px;
  22. cursor: pointer;
  23. }
  24. #wysun span {
  25. display: block;
  26. font-size: 24px;
  27. height: 30px;
  28. margin-top: 20px;
  29. padding: 10px 0 10px 10px;
  30. width: 20px;
  31. background: #333;
  32. filter: alpha(opacity=50);
  33. -khtml-opacity: 0.5;
  34. -moz-opacity: 0.5;
  35. opacity: 0.5;
  36. }
  37. #wysun span:hover {
  38. display: block;
  39. font-size: 24px;
  40. height: 30px;
  41. margin-top: 20px;
  42. padding: 10px 0 10px 10px;
  43. width: 20px;
  44. background: #333;
  45. filter: alpha(opacity=70);
  46. -khtml-opacity: 0.7;
  47. -moz-opacity: 0.7;
  48. opacity: 0.7;
  49. }



Jeśli chodzi o odnośnik do stronki, jak to wygląda na te chwilę - http://www.lnls.pl/mysttest/index.php

PS lnls.pl to także moja strona, po prostu chwilowo projektuje sobie nową stronę na tym FTP.


Z góry dzięki; czekam na odp. winksmiley.jpg
Pozdrawiam.
vokiel
To zmień css, wartości na jakie zamienić masz podane po kliknięciu na #wsun. Czyli taki stan powinien być na starcie.

Do tego jedna uwaga, nie pobieraj drugi raz tego samego elementu jeśli nie musisz
[JAVASCRIPT] pobierz, plaintext
  1. jQuery(document).ready(function(){
  2. $("#wsun").click(function(){
  3. $(this).show("normal").animate({width:"28px", opacity:1}, 200);
  4. $("#menu").animate({width:"0px", opacity:0}, 400 );
  5. $("#panel").animate({marginLeft:"-250px"}, 400 );
  6. });
  7.  
  8. $("#wysun").click(function(){
  9. $("#menu").animate({width:"250px", opacity:1}, 400 );
  10. $("#panel").animate({marginLeft:"0px"}, 400 );
  11. $(this).animate({width:"0px", opacity:0}, 600).hide("slow");
  12. });
  13. });
[JAVASCRIPT] pobierz, plaintext
Krychu1
Chyba jednak do końca Ciebie nie zrozumiałem. Jakbyś mógł to rozwiń te pierwsze zdanie bo nie wiem czy dobrze je kapuje.
vokiel
Prześledź po kolei co się dzieje po kliknięciu #wsuń (wynikiem będzie to, że formularz logowania będzie ukryty, czyli tak jak chcesz).
1. $(this).show("normal").animate({width:"28px", opacity:1}, 200);
  1. #wsun {display: block; width: 28px; opacity: 1}

2. $("#menu").animate({width:"0px", opacity:0}, 400 );
  1. #menu {width: 0px; opacity: 0;}

3. $("#panel").animate({marginLeft:"-250px"}, 400 );
  1. #panel {marginLeft: -250px;}


Tam gdzie występuje opacity, to możesz dodać visibility, bo różnie przeglądarki reagują na samo opacity.
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.