Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pokaż / ukryj <div ..., Jak zgasić wszystkie aktywne div'y
son
post
Post #1





Grupa: Zarejestrowani
Postów: 210
Pomógł: 0
Dołączył: 31.01.2004
Skąd: Kraków

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


Witam
Jest taki skrypt:
  1. <script language='javascript' type='text/javascript'>
  2. function ShowHide(id1, id2) {
  3. if (id1 != '') expMenu(id1);
  4. if (id2 != '') expMenu(id2);
  5. }
  6.  
  7. function expMenu(id) {
  8. var itm = null;
  9. if (document.getElementById) {
  10. itm = document.getElementById(id);
  11. } else if (document.all){
  12. itm = document.all[id];
  13. } else if (document.layers){
  14. itm = document.layers[id];
  15. }
  16.  
  17. if (!itm) {
  18. // do nothing
  19. }
  20. else if (itm.style) {
  21. if (itm.style.display == "none") { itm.style.display = ""; }
  22. else { itm.style.display = "none"; }
  23. }
  24. else { itm.visibility = "show"; }
  25. }
  26.  
  27. (...)
  28.  
  29. <tr>
  30. <td width="50%">
  31. <a href="javascript:ShowHide('qr_open1','qr_closed1');">link 1</a><br>
  32. <a href="javascript:ShowHide('qr_open2','qr_closed2');">link 2y</a><br>
  33. <a href="javascript:ShowHide('qr_open3','qr_closed3');">link 3</a><br>
  34. <a href="javascript:ShowHide('qr_open4','qr_closed4');">link 4</a><br>
  35. <a href="javascript:ShowHide('qr_open5','qr_closed5');">link 5</a>
  36.  
  37. </td>
  38. <td width="50%">
  39. <div align='left' id='qr_open1' style="display:none;position:relative;">
  40. Div nr 1<br>
  41. </div>
  42. <div align='left' id='qr_open2' style="display:none;position:relative;">
  43. Div nr 2
  44. </div>
  45. <div align='left' id='qr_open3' style="display:none;position:relative;">
  46. Div nr 3
  47. </div>
  48. <div align='left' id='qr_open4' style="display:none;position:relative;">
  49. Div nr 4
  50. </div>
  51. <div align='left' id='qr_open5' style="display:none;position:relative;">
  52. Div nr 5
  53. </div>
  54. </td>

Chciałbym żeby kiedy klikam kolejne linki, aktywne div'y gasły, a uaktywniał sie tylko ten na który klikam.
W tej chwili otwierają się jeden po drugim i żeby zgacić każdy jeden trzeba kliknąć w ten sam link, którym go uaktywniano.

Pozdrawiam

Ten post edytował son 25.01.2005, 18:37:15
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
Majdan
post
Post #2





Grupa: Zarejestrowani
Postów: 445
Pomógł: 0
Dołączył: 21.12.2003
Skąd: Tomaszów Lubelski

Ostrzeżenie: (10%)
X----


Tak na marginesie:
Wers 1, nie ma czegoś takiego: language='javascript'.
Go to the top of the page
+Quote Post
son
post
Post #3





Grupa: Zarejestrowani
Postów: 210
Pomógł: 0
Dołączył: 31.01.2004
Skąd: Kraków

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


Cytat(Majdan @ 2005-01-25 20:05:14)
Tak na marginesie:
Wers 1, nie ma czegoś takiego: language='javascript'.

Wiem, ale to nie mój skryt (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
revyag
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 258
Pomógł: 16
Dołączył: 21.09.2004
Skąd: Kielce

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


Rozwiązanie troche łopatologiczne, ale z braku laku może Ci się przyda (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Kod
.....
else if (itm.style) {
    if (itm.style.display == "none") {
        for(var i=1;i<=5;++i){                                            
            if(document.getElementById("qr_open"+i).style.display=="") {  
                document.getElementById("qr_open"+i).style.display="none";
             }
        }
        itm.style.display = "";
}
else { itm.style.display = "none"; }
......
Go to the top of the page
+Quote Post
son
post
Post #5





Grupa: Zarejestrowani
Postów: 210
Pomógł: 0
Dołączył: 31.01.2004
Skąd: Kraków

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


Trochę przerobiłem ten skrypt revyag'a ale działa (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Thx (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
jerrys
post
Post #6





Grupa: Zarejestrowani
Postów: 56
Pomógł: 0
Dołączył: 5.02.2004

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


Można zamiast sprawdzać wszystkie - przy uaktywnianiu warstwy zapisac w zmiennej jej id i wtedy jak odpalamy druga to gasimy ta zapisana w zmiennej i do zmiennaj zapisujemy aktualnie widoczną. (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) Tak zawsze będziemy wiedzieli która jest aktywna (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #7





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




hmmm. Ja tez mam problem. Otóż tworzę CMS na warstwach i ma on taką funkcjonalność

  1. <?php
  2.  
  3. print '<input type=\"radio\" name=\"typ\" value=\"1\"onclick=\"document.getElementById('rodzajart').style.visibility='visible',getElementById('rodzajopow').style.visibility='hidden',getElementById('formaart').style.visibility='hidden'\">';
  4.  
  5. ?>


Wyświetla jedno okienko "typ". Później wybieramy ('rodzajart') rodzaj artykułu i obok pojawia się div z ich rodzajami. OK. Jak wybiorę rodzaj artykułu, to pojawia się jego forma juz w trzecim oddzielnym divie
(typ->rodzaj->forma)

Teraz jak klinkę sobie znów na "TYP", to chcę wybrać inny typ tekst (np opowiadanie) oraz chcę, aby chowały się wszystkie divy oprócz jednego (właśnuie TYPu). Umiem zrobic to łopatologicznie jak w powyższym skrypcie, ale chodzi mi o to, aby po prostu chowały się wszystkie divy, a nie tylko te, które sobie wybiorę - takie małe HIDE ALL.

Macie na to jakąś radę?
Go to the top of the page
+Quote Post

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: 25.08.2025 - 07:38