Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Dynamiczne zakładki - nie działają 2 panele na raz
Diego22
post
Post #1





Grupa: Zarejestrowani
Postów: 64
Pomógł: 0
Dołączył: 23.03.2011

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


Witam buduję Stronę na php-fusion , chciałem dodać 2 panele po prawej z stronie z dynamicznymi zakładkami , jak jest tylko jeden panel włączony to wszystko jet ok , problem pojawia się gdy włącze 2 panel , to wtedy już nie działa. Jak klikam w zakładki w drugim panelu , to zawartość ich zmienia się w pierwszym , mimo że nie klikałem w nim. Jak to rowiązać ? Oto kod :
Kod
openside("Klasyfikacje"); ?>

    <script>
    //<![CDATA[
    function pokazdiv(el) {
    for(var i=1; i<=3; i++) {
    if(el == i) {
    document.getElementById(el).style.display = "block";
    }else{
    document.getElementById(i).style.display = "none";
    }
    }
    }
    //]]>
    </script>
    
    
    
    
    <a href="java script:void(0);" onclick="pokazdiv('1');">Galeria</a>
    <a href="java script:void(0);" onclick="pokazdiv('2');">Filmy</a>
    <a href="java script:void(0);" onclick="pokazdiv('3');">Ogolne</a>
    
    <div id="1">jeden</div>
    <div id="2" style="display:none">dwa</div>
    <div id="3" style="display:none">trzy</div>



<?php closeside();
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
morbic
post
Post #2





Grupa: Zarejestrowani
Postów: 116
Pomógł: 29
Dołączył: 13.12.2010
Skąd: Warszawa

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


ID każdego DIVa musi być unikatowe dla całego dokumentu HTML.

Najlepiej zrobić:

  1. //<![CDATA[
  2. function pokazdiv(el, panel) {
  3. for(var i=1; i<=3; i++) {
  4. if(el == i) {
  5. document.getElementById(panel+'_'+el).style.display = "block";
  6. }else{
  7. document.getElementById(panel+'_'+i).style.display = "none";
  8. }
  9. }
  10. return false;
  11. }
  12. //]]>
  13.  
  14. <a href="#" onclick="return pokazdiv('1', 'panel1');">Galeria</a>
  15. <a href="#" onclick="return pokazdiv('2', 'panel1');">Filmy</a>
  16. <a href="#" onclick="return pokazdiv('3', 'panel1');">Ogolne</a>
  17.  
  18. <div id="panel1_1">jeden</div>
  19. <div id="panel1_2" style="display:none">dwa</div>
  20. <div id="panel1_3" style="display:none">trzy</div>


Dla kolejnych paneli zmieniasz tylko drugi parametr funkcji pokazdiv() i pierwszy człon id wszystkich divów w panelu.

Ten post edytował morbic 11.05.2012, 21:42:26
Go to the top of the page
+Quote Post

Posty w temacie


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: 11.10.2025 - 04:48