Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> pokazywanie, ukrywanie div, nie działa tak jak chcę
Aztech
post
Post #1





Grupa: Zarejestrowani
Postów: 276
Pomógł: 3
Dołączył: 22.10.2003
Skąd: Wrocław

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


Mam funkcję która mi pokazuje/ukrywa element na stronie
Kod
function openClose(id)
{
    document.getElementById(id).style.display = (document.getElementById(id).style.display == "none") ? "block" : "none";
}

oraz taki kod w templacie
  1. <a href="java script:openClose('personalSettingList')" title="kliknij aby zobaczyć więcej">Twoje indywidualne ustawienia:</a>
  2. <ul class="groups" id="personalSettingList">
  3. <li><span>email widoczny:</span> {$user.vis_email}
  4. {if $user.vis_email eq tak}
  5. <a href="user.php?action=chngprfl,vis_email,0" title="ukryj mój email przed innymi użytkownikami" class="unsuscribe" onclick="java script:openClose('personalSettingList')">ť ukryj przed innymi użytkownikami</a>
  6. {else}
  7. <a href="user.php?action=chngprfl,vis_email,1" title="pokazuj mój email w moim profilu" class="unsuscribe">ť pokazuj w informacjach o mnie</a>
  8. {/if}
  9. </li>
  10. <li><span>gg widoczne:</span> {$user.vis_gg}
  11. {if $user.vis_gg eq tak}
  12. <a href="user.php?action=chngprfl,vis_gg,0" title="ukryj mój numer gg przed innymi użytkownikami" class="unsuscribe">ť ukryj przed innymi użytkownikami</a>
  13. {else}
  14. <a href="user.php?action=chngprfl,vis_gg,1" title="pokazuj mój numer gg w moim profilu" class="unsuscribe">ť pokazuj w informacjach o mnie</a>
  15. {/if}
  16. </li>
  17. </ul>

Na początku ustawinia sa niewidoczne. Klikam, pokazują się. Do tego momentu jest ok, tak jak chccę. Ale po kliknięciu:
- ukryj przed innymi użytkownikami
- pokazuj mój email|numer gg w moim profilu
ustawiania znów mi znikają, zastosowany jest display:none do ul. A chciałbym żeby tak nie było, tylko żeby znikało po ponownym klknięciu: Twoje indywidualne ustawienia;

P.S. Gdy usunę display:none to zachowuje się tak jak chcę z tym że ustawienai są widoczne od razu (a chciałbym żeby nie były)

Ma ktoś jakieś pomysł jak to zmienić?

Ten post edytował Aztech 12.07.2006, 22:37:27
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
shpyo
post
Post #2





Grupa: Zarejestrowani
Postów: 574
Pomógł: 2
Dołączył: 13.04.2004
Skąd: Lublin

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


Czy przypadkiem nie dzieje się tak, bo masz przeładowanie strony?


--------------------
Go to the top of the page
+Quote Post
Aztech
post
Post #3





Grupa: Zarejestrowani
Postów: 276
Pomógł: 3
Dołączył: 22.10.2003
Skąd: Wrocław

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


Prawdopodobnie. Ale na razie nie widzę sposobu aby temu zaradzić. Spróbuję wprowadzić jakiś parametr, żeby rozróżniać wejście na stronę a zmianę wartości parametru, ale nie wydaje mi się to optymalnym rozwiazaniem. Może da się jakoś inaczej? Masz może pomysł?
Go to the top of the page
+Quote Post
Ja_Szczur
post
Post #4





Grupa: Zarejestrowani
Postów: 115
Pomógł: 0
Dołączył: 4.12.2005
Skąd: Strzyżów

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


a może tak:

  1. // jeżeli w adresie włączyliśmy bądź wyłączyliśmy tę opcję
  2. if( document.location.href.indexOf( 'action=chngprfl,vis_gg,0' ) > 0 )
  3. {
  4. jakiśTamElement.style.display = 'block';
  5. }


--------------------
"No bo z fasolą to człowiek przynajmniej wie, na czym stoi..."
Pomniejsze bóstwa, Terry Pratchett

php :*
Go to the top of the page
+Quote Post
shpyo
post
Post #5





Grupa: Zarejestrowani
Postów: 574
Pomógł: 2
Dołączył: 13.04.2004
Skąd: Lublin

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


bez zmiennej pomocnicznej pobieranej z bazy się tego nie obejcie, chyba że użyjesz AJAX'u


--------------------
Go to the top of the page
+Quote Post
Aztech
post
Post #6





Grupa: Zarejestrowani
Postów: 276
Pomógł: 3
Dołączył: 22.10.2003
Skąd: Wrocław

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


To może jeszcze jeden inny problem.
Mamy 4 DIV-y. Nie mają ustalonego dislpaya. Nad każdym DIV-em jest link co ukrywa/pokazuje DIV-a pod nim. Czy da się zapamiętać te rozwinięte i zwinięte DIV-y. A jak tak to jak?
Go to the top of the page
+Quote Post
kwiateusz
post
Post #7


Admin Techniczny


Grupa: Administratorzy
Postów: 2 071
Pomógł: 93
Dołączył: 5.07.2005
Skąd: Olsztyn




ja to rozwiązałem tak

Kod
function $(id)
{
      itm = null;

       if (document.getElementById)
       {
            itm = document.getElementById(id);
        }
     else if (document.all)
       {
        itm = document.all[id];
       }
       else if (document.layers)
       {
        itm = document.layers[id];
       }

       return itm;
}
function my_getcookie( name )
{
    var cname = name + '=';
    var cpos  = document.cookie.indexOf( cname );

    if ( cpos != -1 )
    {
        cstart = cpos + cname.length;
        cend   = document.cookie.indexOf(";", cstart);

        if (cend == -1)
        {
            cend = document.cookie.length;
        }

        return unescape( document.cookie.substring(cstart, cend) );
    }

    return null;
}

function my_setcookie( name, value)
{
      var expire = "; expires=Wed, 1 Jan 2020 00:00:00 GMT";

        document.cookie = name + "=" + value +  expire +  ';';
}

  

function PokazUkryj()
{
   var pasek=document.getElementById('pasek');
   var tresc=$('tresc');
   var img= pasek.childNodes[0];
   pasek=pasek.getElementsByTagName('span')[0];

   if (tresc.style.display == 'block' || my_getcookie('hide')==0)
   {
      tresc.style.display='none';
      pasek.innerHTML='Pokaż';
      img.src='exp_minus.gif';
      my_setcookie('hide',1);
   }
   else
   {
      tresc.style.display='block';
      pasek.innerHTML='Schowaj';
      img.src='exp_plus.gif';
      my_setcookie('hide',0);
   }
}

window.onload = function
{
   if(my_getcookie('hide')==1)
   {
      var tresc=$('tresc');
      var pasek=$('pasek');
      var img= pasek.childNodes[0];
      img.src='exp_minus.gif';
      tresc.style.display='none';
      pasek.childNodes[1].innerHTML='Pokaż';
   }
}
-->


tyle że tu na stałe jest wpisane jaki element ma się chowac/pokazywać... musiałbyś to przerobić aby pobierał argument co ma chowac lub pokazywać
Go to the top of the page
+Quote Post
Aztech
post
Post #8





Grupa: Zarejestrowani
Postów: 276
Pomógł: 3
Dołączył: 22.10.2003
Skąd: Wrocław

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


Póki co ja skorzystałem z rozwiązania http://code.gosu.pl/ z menu w javie wersja 1.3. W JS jestem słaby, ale postaram się coś wydusić z tego Twojego skryptu

Ten post edytował Aztech 15.07.2006, 15:58:25
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 Aktualny czas: 20.08.2025 - 09:56