24. november 2008 - 12:14Der er
3 kommentarer og 1 løsning
Lukke noder før ny åbnes
Bruger denne til at åbne og lukke divs
<script>
function HideOrShowDiv(itemno) { var lyr=document.getElementById('D_'+itemno); if (lyr.style.display=='none'){ lyr.style.display='block'; } else { lyr.style.display='none'; } }
</script>
Eksempel på div <a href="java script:HideOrShowDiv(1001)">Link</a> <div id=D_1001 style="display:none"> Tekst <div>
Hvis jeg nu vil lukke åbne divs inden en ny åbne, hvad skal så tilføjes i mit script?
jeg ved ikke hvor mange det drejer sig om, men måske lave et array med ID'er på alle divs og loop det igennem Der hvor div id'et ikke matcher det indsendte laves der "lyr.style.display='none';" på og der hvor det matcher laves der "lyr.style.display='block';"
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> New Document </TITLE> <META NAME="Generator" CONTENT="EditPlus"> <META NAME="Author" CONTENT=""> <META NAME="Keywords" CONTENT=""> <META NAME="Description" CONTENT=""> </HEAD>
<BODY> <script> var array = new Array(); array[0] = 'D_1001'; array[1] = 'D_1002'; array[2] = 'D_1003';
function HideOrShowDiv(itemno) { var lyr = document.getElementById('D_'+itemno); if (lyr.style.display=='none'){ lyr.style.display='block'; } else { lyr.style.display='none'; }
for(var i = 0; i < array.length; i++){ if(document.getElementById(array[i])!= lyr) document.getElementById(array[i]).style.display='none'; } }
</script>
Eksempel på div <a href="java script:HideOrShowDiv(1001)">Link1</a> <div id="D_1001" style="display:none"> Tekst1 </div>
Den sædvanlige løsning lyder: Læg en reference til det åbne element i en global variabel:
var oActive = null; function HideOrShowDiv(itemno) { if (oActive) oActive.style.display = "none"; oActive = document.getElementById('D_'+itemno); oActive.style.display = "block"; }
/mvh </bole>
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.