Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Div pokaz / ukryj
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
luk5e
Czesc,

na forum znalazłem funkcje w .js która ukrywa i pokazuje div po klikniecu na button i dziala super... ale ! gdy np klikne w odnosnik w divie ktory został wysuniety to owy div sie chowa reaguje tak jak gdybym kliknal w button " pokaz / ukryj ".

I moje pytanie: jak zrobic zeby div chowal sie tylko wtedy gdy klikne w odnosik pokaz/ukryj ?

Kod .js:
  1. <script language="javascript" type="text/javascript">
  2. function showHide(id_div,id_button){
  3. if(document.getElementById(id_div).style.display=="none"){
  4. document.getElementById(id_div).style.display="block";
  5. document.getElementById(id_button).value="ukryj";
  6. }else{
  7. document.getElementById(id_div).style.display="none";
  8. document.getElementById(id_button).value="pokaż";
  9. }
  10. }
  11. <div style="display:none;" id="jakisid">
  12. asdasd asdf sf
  13. </div>
  14. <br><br><br><input type="button" value="pokaż" onclick=java script:showHide("jakisid","but") id="but">
kamil4u
U mnie nic takiego nie występuje, albo nie rozumiem problemu. Gdy klikam na div-a to nic się nie chowa smile.gif
Poza tym masz błędy w kodzie:
Kod
<script language="javascript" type="text/javascript">
function showHide(id_div,button){
var el = document.getElementById(id_div);
if(el.style.display=="none"){
  el.style.display="block";
button.value="ukryj";
}else{
  el.style.display="none";
button.value="pokaż";
}
}
</script>
<div style="display:none;" id="jakisid">
asdasd asdf sf
</div>
<br><br><br><input type="button" value="pokaż" onclick=showHide("jakisid",this) id="but">
luk5e
Jesli klikasz na diva to sie nie chowa ale jesli klikniesz na jakis link ktory umiesciłes w tym divie to juz sie chowa. np jest nawigacja na stronie do kolejnych podstron typu 1 2 3 4 5 6 którą umieszczam własnie w tym wysuwanym divie i teraz gdy np klikne w tym divie na 2 to div sie chowa bo wczytuje sie nowy link i zeby kliknac na 3 musze go znowu wysunac recznie a mi chodzi zeby np po klinieciu dwa cztery lub nawet piec zostal od widoczny dopoki sam go nie schowam. Jest fizycznie mozliwe zeby tak zrobic ?
kamil4u
Daj kod, gdzie występuje taki problem, bo to nie jest normalne smile.gif
masiakla
luk5e, zawsze możesz użyć cookies jak chcesz trzymać to otwarte, po przeładowaniu strony. http://techpatterns.com/downloads/javascript_cookies.php
luk5e
kamil4u: klikanie w linki które są umieszczone w rozwiniętym divie działa jak odswieżanie strony . Sam zobacz... jesli rozwiniesz diva z powyższego kodu i odświeżysz stronę to div sie zwinie. A chodzi o to, ze nawet jeśli odswieżę stronę to div musi zostać rozwiniety. Aby to bardziej zobrazować nk ma cos takiego po lewej " rozwiń/zwiń" i jesli rozwine a pozniej odswieze strone div pozostaje rozwiniety dopoki sam go nie zwine .

masiakla: cookies to chyba bedzie dobre wyjscie. Chyba ze kamil4u cos wymysli ... a mam nadzieje ze wymysli. winksmiley.jpg

Ps dzieki, za zaintersowanie tematem. winksmiley.jpg

mkdes
Przerób sobie na .click() jQuery
To działa na tej stronie: http://j-r.opole.pl/

Kod
<script type="text/javascript">
$(function(){


    $("#topNaviKontakt").hover(
      function () {
        $("#naviKontaktBoxMenu").fadeIn(200);
      },
      function () {
        $("#naviKontaktBoxMenu").fadeOut(200);
        
        
      }
    );
  
    $("#naviKontaktBoxMenu").hover(
      function () {
              $(this).stop();
      },
      function () {
        $("#naviKontaktBoxMenu").fadeOut(200);
      }
    );    
});

</script>
kamil4u
Dobra skumałem smile.gif - zgadzam się, że ciasteczka to najlepsze wyjście.
Możesz jeszcze manipulować adresem i z niego wydobyć informacje np. www.twojastrona.pl/2.html?display=block ,ale ciasteczka to zdecydowanie najlepszy wybór.
http://blog.kukawski.pl/2007/02/26/js-a-cookies/

Ew. są jeszcze inne sposoby trzymania danych prócz ciasteczek ale z tego co pamiętam nie chodzą one pod wszystkimi przeglądarkami i w Twoim wypadku nie jest to dobrym rozwiązaniem: http://blog.kukawski.pl/2009/05/09/przecho...tronie-klienta/
zegarek84
lub jeśli chodzi tylko o to samo okno [odświeżenie] a nie stronę [np. po zamknięciu i otwarciu]...
Cytat
Furthermore window.name can be used for tracking visitors across different web sites, making it of concern for Internet privacy.

In some respects this can be more secure than cookies due to not involving the server, so it is not vulnerable to network cookie sniffing attacks. However if special measures are not taken to protect the data, it is vulnerable to other attacks because the data is available across different web sites opened in the same window or tab.

http://www.google.pl/#num=100&hl=pl&am...ow+name+session
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.