Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript] Div jako kilkalne menu rozwijane
!*!
post
Post #1





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Założyłem już podobny temat w innym dziale, jednak nie uzyskałem odpowiedzi, a nie mogę go tam edytować.

Może źle się wyraziłem. Chodzi mi o uzyskanie efektu pojawiania się "menu" np. diva po kliknięciu na jakiś link, jak kliknę go jeszcze raz to div zostanie ukryty, lub jeśli kliknę (gdy jest otwarty) w dowolną cześć ekranu strony to zostanie on ukryty.

Jako przykład mogę podać główną stronę google, zakładka u góry "więcej" oraz menu na facebooku "konto".

Jeśli jest to naruszenie regulaminu prosiłbym o skasowanie tego tematu. Jednak zależy mi na nakierowaniu czego konkretnie mam szukać. Pod hasłem "menu rozwijane" owszem są takie motywy, jednak nie są one zamykane poprzez kilknięcie w dowolną cześć strony po otworzeniu. I właśnie nie wiem jak taki mechanizm uzyskać.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
!*!
post
Post #2





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Struktura wygląda tak:

  1. <div id="m1">
  2. <p onclick="activetab(1);">Menu 1</p>
  3. <ul>
  4. <li>File</li>
  5. <li>Edit</li>
  6. </ul>
  7. </div>
  8.  
  9. <div id="m2">
  10. <p onclick="activetab(2);">Menu2</p>
  11. <ul>
  12. <li>Opera</li>
  13. <li>Fx</li>
  14. </ul>
  15. </div>


[JAVASCRIPT] pobierz, plaintext
  1. function activetab(e){
  2.  
  3. maxtab =3;
  4. tab = document.getElementById('m'+e);
  5. if(tab.getElementsByTagName('ul')[0].style.display == 'block'){
  6. tab.getElementsByTagName('ul')[0].style.display = 'none';
  7. } else {
  8. for(i=1; i<=maxtab; i++){
  9. if(i==e){
  10. tab.setAttribute("class","selected");
  11. tab.getElementsByTagName('ul')[0].style.display = 'block';
  12. } else {
  13. document.getElementById('m'+i).setAttribute("class","");
  14. document.getElementById('m'+i).getElementsByTagName('ul')[0].style.display = 'none';
  15. }
  16. }
  17. }
  18. }
[JAVASCRIPT] pobierz, plaintext


I chodzi o ukrycie listy UL gdy jest ona widoczne (display:block) w przypadku gdy kilkne poza jej obszarem, na stronie w dowolnym miejscu. Właśnie nie wiem co mam dodać tzn. jak dodać do body taką opcje.

Link do formy obecnej
Go to the top of the page
+Quote Post

Posty w temacie


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: 16.10.2025 - 22:05