ďťż

[JAVA SCRIPT] Małą modyfikacja kodu

       

Podstrony


telcocafe

Witam !

Poniżej znajduję się kod który wyświetla po naciśnięciu linku warstwę a po ponownym naciśnięciu ją chowa. Ale potrzebuje przerobić go tak żeby po naciśnięciu powiedzmy działu nr 2 chował jeśli jest otwarty dział 1 jak i inne otwarte. Da się cos takiego zmodyfikowac w tym skrypcie ?

w HEAD <script language="Javascript"> <!-- function doSection (secNum){ //display the section if it's not displayed; hide it if it is displayed if (secNum.style.display=="none"){secNum.style.display=""} else{secNum.style.display="none"} } function noSection (secNum){ //remove the section when user clicks in the opened DIV if (secNum.style.display==""){secNum.style.display="none"} } --> </script> w BODY <a onclick="doSection(identyfikator1)" href="#nowhere"><b>Dział 1</b></a> <div id="identyfikator1" style="display: none" onclick="noSection(identyfikator)" align="center"> tekst w pierwszym dziale </div> <a onclick="doSection(identyfikator2)" href="#nowhere"><b>Dział 2</b></a> <div id="identyfikator2" style="display: none" onclick="noSection(identyfikator)" align="center"> tekst w drugim dziale </div>



Proponuje takie rozwiązanie, ale do skryptu trzeba podać ilość działów (sectionCount). Może i w samym js dałoby się obliczyć ile ich jest, no ale jak to zrobić to nie wiem ;)<html> <head> <script language="Javascript"> <!-- function doSection(secNum) { //ilosc linkow var sectionCount = 4; if (document.getElementById(secNum).style.display=="none") { for(i=1; i<=sectionCount; i++) { document.getElementById('identyfikator'+i).style.display="none"; } document.getElementById(secNum).style.display = ""; } else { document.getElementById(secNum).style.display="none" } } --> </script> </head> <body> <a onclick="doSection('identyfikator1')" href="#nowhere"><b>Dział 1</b></a><br> <div id="identyfikator1" style="display: none" align="center"> tekst w pierwszym dziale </div> <a onclick="doSection('identyfikator2')" href="#nowhere"><b>Dział 2</b></a><br> <div id="identyfikator2" style="display: none" align="center"> tekst w drugim dziale </div> <a onclick="doSection('identyfikator3')" href="#nowhere"><b>Dział 3</b></a><br> <div id="identyfikator3" style="display: none" align="center"> tekst w trzecim dziale </div> <a onclick="doSection('identyfikator4')" href="#nowhere"><b>Dział 4</b></a><br> <div id="identyfikator4" style="display: none" align="center"> tekst w czwartym dziale </div> </body> </html>

Wersja wieśniacka, ale działająca (dla małej ilości warstw):

function doSection(secNum) { a = document.getElementById("identyfikator1"); b = document.getElementById("identyfikator2"); if (secNum.style.display == "none") { if (b.style.display == "") b.style.display = "none"; if (a.style.display == "") a.style.display = "none"; secNum.style.display = ""; } else { secNum.style.display = "none"; if (a.style.display == "") a.style.display = "none"; } }

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.