Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Sprawdzanie czy div ma display: visible;, (nie chcę gotowca, chcę poradę)
eko_moto
post 24.01.2006, 20:26:17
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 8.01.2006
Skąd: z Wawy

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


mam taki kod w JS:

Kod
<script language="Javascript>
function sh(id) {
    
    if (document.getElementById) { // DOM3 = IE5, NS6
  if (document.getElementById(id).style.display == "none"){
      document.getElementById(id).style.display = 'block';
  } else {
      document.getElementById(id).style.display = 'none';      
  }    
    } else {
  if (document.layers) {    
      if (document.id.display == "none"){
    document.id.display = 'block';
      } else {
    document.id.display = 'none';
      }
  } else {
      if (document.all.id.style.visibility == "none"){
    document.all.id.style.display = 'block';
      } else {
    document.all.id.style.display = 'none';
      }
  }
    }
}


oraz HTML:

  1. <a href="#" onClick="sh('galeria');">Pokaz/Ukryj Galeria</a>
  2. <a href="#" onClick="sh('home');">Pokaz/Ukryj Home</a>
  3. <div style="display: none;" id="galeria">tutaj tresc gallery</div>
  4. <div style="display: none;" id="home">tutaj tresc home</div>


i chodzi mi o to, że jak klikniemy w np. "Pokaz/Ukryj Galeria" a
<div id="home"> bedzie mial display:visible; to zamknie
<div id="home"> a wyswietli <div id="galeria">
To ma być taki sprawdzacz czy dwa div-y nie bedą otwarte.

Pytanie: Czy da się to napisać w JS? Jeśli się da to proszę o poradę, jak.

Ten post edytował eko_moto 24.01.2006, 20:34:10


--------------------
<span style="font-style: italic;">"Kto nie dąży do rzeczy niemożliwych, nigdy ich nie osiągnie."
<span style="font-weight: bold;">Heraklit</span></
Go to the top of the page
+Quote Post
LBO
post 24.01.2006, 21:11:29
Post #2





Grupa: Zarejestrowani
Postów: 1 415
Pomógł: 117
Dołączył: 7.09.2005
Skąd: Warszawa

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


musisz stworzyc predefiniowana tablice z idkami ktore ma obslugiwac menu...
Kod
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<script language="Javascript">
function sh(id) {
    /*
  predefiniowana tablica z
  elementami obslugiwanymi
  przez menu
    */
    modules = new Array('galeria', 'home');
    for (i = 0; i < modules.length; i++) {
     if (i != id) {
            //alert(modules[i] + ' != ' + modules[id]);
            document.getElementById(modules[i]).style.display = 'none';
        } else {
            //alert(modules[i] + ' == ' + modules[id]);
            document.getElementById(modules[i]).style.display = 'block';
        }
    }
}
</script>
</head>

<body>
<a href="#" onClick="sh(0);">Pokaz/Ukryj Galeria</a><br />
<a href="#" onClick="sh(1);">Pokaz/Ukryj Home</a>
<div style="display: none;" id="galeria">tutaj tresc gallery</div>
<div style="display: none;" id="home">tutaj tresc home</div>
</body>
</html>


dziala pod IE 5, IE 6, Firefoxem, Netscape 7/8, Opera 7/8, Mozila 1.7/1.8

Ten post edytował LBO 24.01.2006, 21:15:37
Go to the top of the page
+Quote Post
eko_moto
post 24.01.2006, 21:40:05
Post #3





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 8.01.2006
Skąd: z Wawy

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


wielkie dzięki, chodzi śpiewająco!
guitar.gif


--------------------
<span style="font-style: italic;">"Kto nie dąży do rzeczy niemożliwych, nigdy ich nie osiągnie."
<span style="font-weight: bold;">Heraklit</span></
Go to the top of the page
+Quote Post
LBO
post 24.01.2006, 21:46:45
Post #4





Grupa: Zarejestrowani
Postów: 1 415
Pomógł: 117
Dołączył: 7.09.2005
Skąd: Warszawa

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


do atrybucie HREF wpisz:
Kod
javascript:void(0);

wtedy w przegladarka nie traktuje tego jako czysty link, bo inaczej robi sie zapis w historii browsera, i uaktywnia sie przycisk BACK

Ten post edytował LBO 24.01.2006, 21:47:17
Go to the top of the page
+Quote Post
TAMLYN
post 10.01.2007, 18:10:31
Post #5





Grupa: Zarejestrowani
Postów: 49
Pomógł: 1
Dołączył: 6.01.2007
Skąd: Wrocław

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


Znalazłem ten kod przypadkiem, ale jest czymś czego od dawna szukałem winksmiley.jpg

Tylko mam jedno pytanko... Co zrobić, aby wszystkie div'y się "zamknęły"? blink.gif

---------------------

Ok, znalazłem rozwiązanie biggrin.gif Wystarczy stworzyć "pustego" div'a biggrin.gif

Ale natrafiłem także na błąd sadsmiley02.gif Jeżeli wewnątrz jednego div'a wstawię drugiego, nawet o innym id niż jest w skrypcie, to wszystko się sypie i wyświetla mi wszystkie div'y prócz tego "pustego" (chyba, bo jego nie widzę tongue.gif ) sadsmiley02.gif Jest na to jakaś rada?

---------------------

Ok, błąd był po mojej stronie sleep.gif Przepraszam za zaśmiecanie tematu sleep.gif sadsmiley02.gif

Ten post edytował TAMLYN 10.01.2007, 19:17:22


--------------------
Wróciłem po długiej przerwie... Bogatszy w wiedzę.
Go to the top of the page
+Quote Post
Zajec
post 10.01.2007, 23:33:58
Post #6





Grupa: Zarejestrowani
Postów: 1 086
Pomógł: 8
Dołączył: 10.12.2003

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


Przy okazji planuję zapomnieć o wszystkim innym niż document.getElementById. To rozwiązanie jest obsługiwane przez:
IE5 wzywć, Operę 7 wzwyż i Firefoksa 1 wzwyż. Więc nie ma obaw, że jakaś popularna przeglądarka sobie nie poradzi.
Go to the top of the page
+Quote Post
TAMLYN
post 11.01.2007, 09:05:30
Post #7





Grupa: Zarejestrowani
Postów: 49
Pomógł: 1
Dołączył: 6.01.2007
Skąd: Wrocław

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


Czyli powinno zostać coś takiego? blink.gif

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  4. <title>Untitled Document</title>
  5. <script type="text/javascript">
  6. function sh(id) {
  7. /*
  8. predefiniowana tablica z
  9. elementami obslugiwanymi
  10. przez menu
  11. */
  12. modules = new Array('galeria', 'home');
  13. for (i = 0; i < modules.length; i++) {
  14. if (i != id) {
  15. document.getElementById(modules[i]).style.display = 'none';
  16. } else {
  17. document.getElementById(modules[i]).style.display = 'block';
  18. }
  19. }
  20. }
  21. </head>
  22.  
  23. <ul>
  24. <li><a href="java script:void(0);" onClick="sh(0);">Pokaz/Ukryj Galeria</a></li>
  25. <li><a href="java script:void(0);" onClick="sh(1);">Pokaz/Ukryj Home</a></li>
  26. </ul>
  27. <div style="display: none;" id="galeria"><p>tutaj tresc gallery</p></div>
  28. <div style="display: none;" id="home"><p>tutaj tresc home</p></div>
  29. </body>
  30. </html>


Nie znam się dobrze na Javie i JS sleep.gif"

------------------
W kodzie uwzględniłęm poprawki @zajec'a i @LBO

Ten post edytował TAMLYN 11.01.2007, 12:15:24


--------------------
Wróciłem po długiej przerwie... Bogatszy w wiedzę.
Go to the top of the page
+Quote Post
Zajec
post 11.01.2007, 10:24:00
Post #8





Grupa: Zarejestrowani
Postów: 1 086
Pomógł: 8
Dołączył: 10.12.2003

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


Niby dobrze, poza pewnymi innymi błędami... Bezpośrednio w body nie można wstawiać tekstu. Należy w jakiś blok go wrzucić. Listę ondośników (jak sądzę, to chcesz zrobić) należy zrobić za pomocą listy, czyli <ul> i <li>.

No i osoby bez JavaScript nie będą mogli przechodzić pomiędzy działami. Po co takie udziwnienie, nie można po prostu dwóch podstron zrobić?
Go to the top of the page
+Quote Post
TAMLYN
post 11.01.2007, 12:10:39
Post #9





Grupa: Zarejestrowani
Postów: 49
Pomógł: 1
Dołączył: 6.01.2007
Skąd: Wrocław

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


Mój skrypt wygląda zupełnie inaczej tongue.gif Trochę go przerobiłem... I nie chcę robić z tego menu, a zastąpić tym iframkę winksmiley.jpg Ne razie tylko się domyślam, że to zadziała dry.gif Co do osób z Java smile.gif Ta strona jest dla osób mających Flash'a i Jave biggrin.gif Później zrobię drugą wersję - alternatywną winksmiley.jpg Uważam to za dobre rozwiązanie winksmiley.jpg


--------------------
Wróciłem po długiej przerwie... Bogatszy w wiedzę.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.06.2025 - 23:40