Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript]Zakładki w JavaScript, Proszę o pomoc.
zavada
post
Post #1





Grupa: Zarejestrowani
Postów: 68
Pomógł: 6
Dołączył: 15.06.2009
Skąd: Kraków

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


Witam!
Mam problem ze skryptem JS do zakładek. Mam dwa identyfikatory: #active i #normal. Chcę, aby skrypt zamieniał obiekt z id #active na #normal i zmieniał obiekt podany w funkcji na #active. Zupełnie nie wiem też, jak zrobić wyświetlanie zawartości zakładki w #content. Może obj.innerHTML? Zamiana #active na #normal działa, ale ostatnia linijka kodu nawala:

Kod
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
  <title>Narzędzia administracyjne</title>
  <link href="style.css" type="text/css" rel="stylesheet">
  <script type="text/javascript">
  function display(setContentDiv) {
    activeDiv = document.getElementById("active");
    activeDiv.id = "normal";
    setContentDiv.id = "active";
  }
  </script>
</head>
<body>
<table cellspacing="0" cellpadding="0">
  <tbody>
    <tr>
      <td id="padding"> </td>
      <td><div id="setContent"><p id="active"><a href="javascript:display(this)">Zakładka 1</a></p></div></td>
      <td id="padding"> </td>
      <td><div id="setContent"><p id="normal"><a href="javascript:display(this)">Zakładka 2</a></p></div></td>
      <td id="padding"> </td>
      <td><div id="setContent"><p id="normal"><a href="javascript:display(this)">Zakładka 3</a></p></div></td>
      <td id="padding"> </td>
      <td><div id="setContent"><p id="normal"><a href="javascript:display(this)">Zakładka 4</a></p></div></td>
      <td id="padding"> </td>
      <td><div id="setContent"><p id="normal"><a href="javascript:display(this)">Zakładka 5</a></p></div></td>
      <td id="padding"> </td>
    </tr>
    <tr>
      <td colspan="11"><div id="content">Treść zakładki [font="Courier New"]x[/font]</div></td>
    </tr>
  </tbody>
</table>
</body>
</html>


Proszę o pomoc!

Ten post edytował zavada 9.07.2009, 08:01:26
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Quantum
post
Post #2





Grupa: Zarejestrowani
Postów: 450
Pomógł: 84
Dołączył: 27.11.2008
Skąd: Warszawa

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


Kod
<html>
      <head>
        <meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
        <title>Narzędzia administracyjne</title>
        <link href="style.css" type="text/css" rel="stylesheet">
        <script type="text/javascript">
        function display(bookmarkId)
        {
          var lastTab = document.getElementById("active").innerHTML;
          document.getElementById('content' + lastTab).style.display = 'none';
          document.getElementById('content' + bookmarkId).style.display = 'block';
          document.getElementById('bookmark' + lastTab).className = 'normal';
          document.getElementById('bookmark' + bookmarkId).className = 'active';
          document.getElementById('active').innerHTML = bookmarkId;
        }
        </script>
      </head>
      <body>
      <table cellspacing="0" cellpadding="0">
        <tbody>
          <tr>
            <td class="padding">&nbsp;</td>
            <td><div id="setContent"><p class="active" id="bookmark1"><a href="javascript:display(1)">Zakładka 1</a></p></div></td>
            <td class="padding">&nbsp;</td>
            <td><div id="setContent"><p class="normal" id="bookmark2"><a href="javascript:display(2)">Zakładka 2</a></p></div></td>
            <td class="padding">&nbsp;</td>
            <td><div id="setContent"><p class="normal" id="bookmark3"><a href="javascript:display(3)">Zakładka 3</a></p></div></td>
            <td class="padding">&nbsp;</td>
            <td><div id="setContent"><p class="normal" id="bookmark4"><a href="javascript:display(4)">Zakładka 4</a></p></div></td>
            <td class="padding">&nbsp;</td>
            <td><div id="setContent"><p class="normal" id="bookmark5"><a href="javascript:display(5)">Zakładka 5</a></p></div></td>
            <td class="padding">&nbsp;</td>
          </tr>
          <tr>
            <td colspan="11"><div id="content">
            <div id="content1" style="display: block;">Treść zakładki 1</div>
            <div id="content2" style="display: none;">Treść zakładki 2</div>
            <div id="content3" style="display: none;">Treść zakładki 3</div>
            <div id="content4" style="display: none;">Treść zakładki 4</div>
            <div id="content5" style="display: none;">Treść zakładki 5</div>
            </div>
            <div id="active" style="display:none;">1</div>
            
            </td>
          </tr>
        </tbody>
      </table>
      </body>
      </html>


Cytat
document.getElementById('bookmark' + lastTab).parent.className = 'normal';
document.getElementById('bookmark' + bookmarkId).parent.className = 'active';

wystarczyło usunąć .parent i dodać
  1. <div id="active" style="display:none;">1</div>


BTW. zmień tak jak Ci mówiłem id na class (padding) i w stylu zamiast td#padding daj td.padding, już nie wspominając o tym, że tabelki nie do tego służą..

Ten post edytował sniffer32 9.07.2009, 10:28:42
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: 4.10.2025 - 13:05