Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [javascript] Pokaz warstwe
parzygnat
post 18.01.2008, 22:43:48
Post #1





Grupa: Zarejestrowani
Postów: 155
Pomógł: 6
Dołączył: 31.12.2007
Skąd: Poznań

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


Witam co tu jest zle? Chcialbym aby po kliknieciu w "checkbox" Pokazywala sie warstwa. Zerknijcie w kod.

Kod
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Ukrywanie warstwy</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">

<script language="JavaScript" type="text/JavaScript">

function ukryjPokazWarstwe(){ //zmienia widocznosc warstwy
    document.getElementById('warstwa').style=visibility: visible;
}

</script>

</head>

<body>
    <div id="forma" style="position:absolute; left:300px; top:60px; width:300px; height:20px; z-index:1" class="opisy">
        <form name="form1" method="post" action="">
            <input type="checkbox" name="projektuj_kolor_blachy" value="checkbox" onClick="ukryjPokazWarstwe();">Pokaz warstwe
        </form>    
        </div>
    <div id="warstwa" style="position:absolute; left:480px; top:120px; width:100px; height:30px; z-index:2; visibility: hidden;">
        OK
    </div>
</body>
</html>
Go to the top of the page
+Quote Post
nospor
post 18.01.2008, 22:50:39
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




nie: document.getElementById('warstwa').style=visibility: visible;
a: document.getElementById('warstwa').style.visibility='visible';
ale to ci zawsze bedzie pokazywac. jak chcesz naprzemian to robic, to dorob if, ktory bedzie sprawdzal czy ukryta czy pokazana i bedzie robil na odwrot smile.gif


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
parzygnat
post 19.01.2008, 00:09:54
Post #3





Grupa: Zarejestrowani
Postów: 155
Pomógł: 6
Dołączył: 31.12.2007
Skąd: Poznań

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


checking... smile.gif

Dzięki nospor - działa a if zaraz dorobie smile.gif

Pociagne nadal temat z zabawa w chowanego. Wczesniej pytalem o to jak cos zrobic zeby sie pojawila warstwa. Teraz sie pytam czy takie rozwiazanie jest mozliwe bo u mnie nie dziala - czy mozna ukryc warstwe1 (gdzie warstwa ma byc elementem aktywnym)?
Kod
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Przesłanie danych</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
<script language="JavaScript" type="text/JavaScript">
function zapisz_dane('warstwa'){
    if(document.getElementById('warstwa') == 'warstwa1') document.getElementById('warstwa1').style.visibility="hidden";
}
</script>

<style type="text/css">
<!--
.ramka {
    border: 1px solid #000000;
}
-->
</style>
</head>

<body>
<div id="warstwa1" style="position:absolute; left:43px; top:40px; width:20px; height:20px; z-index:1; border: 1px solid #000000; visibility: visible;" onClick="zapisz_dane('warstwa1');">1</div>
<div id="warstwa2" style="position:absolute; left:69px; top:40px; width:20px; height:20px; z-index:1; border: 1px solid #000000; visibility: visible;" onClick="zapisz_dane('warstwa2');">2</div>
<div id="warstwa3" style="position:absolute; left:96px; top:40px; width:20px; height:20px; z-index:1; border: 1px solid #000000; visibility: visible;" onClick="zapisz_dane('warstwa3');">3</div>
</body>
</html>
Go to the top of the page
+Quote Post
mrjozo
post 19.01.2008, 08:00:00
Post #4





Grupa: Zarejestrowani
Postów: 142
Pomógł: 3
Dołączył: 27.06.2007

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


  1. function zapisz_dane(nr){
  2. document.getElementById('warstwa'+nr).style.display = 'none';
  3. }


--------------------
W chwili wolnego zapraszam na gry Dla każdego coś się znajdzie;)
Go to the top of the page
+Quote Post
parzygnat
post 19.01.2008, 22:51:16
Post #5





Grupa: Zarejestrowani
Postów: 155
Pomógł: 6
Dołączył: 31.12.2007
Skąd: Poznań

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


Cytat(mrjozo @ 19.01.2008, 08:00:00 ) *
  1. function zapisz_dane(nr){
  2. document.getElementById('warstwa'+nr).style.display = 'none';
  3. }

Sprawdzilem to i nie dziala, ale raczej dzialac nie powinno bo ja przesylam do tej funkcji pod zmienna "nr" string ('warstwa1' lub 'warstwa2' lub 'warstwa3') wiec to wogole jest dla mnie dziwna konstrukcja - w kazdym badz razie nie zadzialalo, moze cos innego? A wogole to sama warstwa (nie obrazek) moze byc elementem reagujacym na zdarzenia?

Powiem tak: Człowiek czasami jak za duzo myśli to robi proste błędy smile.gif Teraz juz wszystko działa, tzn jak kliknie się w warstwa1 to ukrywa się. Jak ktos obserwował ten post to sie uśmieje oto rozwiązanie:
Kod
function zapisz_dane(warstwa){
    if(warstwa == 'warstwa1') document.getElementById('warstwa1').style.visibility="hidden";
}


To nie koniec moich pytań. Teraz pracuje nad tym aby przesłać do innej strony (coś jak formularz w php) która warstwa została kiliknięta i wyświetlić na tej nowej stronce komunikat w stylu "Kliknąłeś w warstę nr: " Czy ktoś może rzucić jakiś temat to sobie poszukam albo nawet jakis skrypt smile.gif - żeby było łatwiej?
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: 16.07.2025 - 08:21