Toon posts:

[Javascript] Alle DIV's verbergen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Je kan met javascript en css een div verbergen door display: none; te doen.

Hoe kan ik nu via js in een functie alle div's die weergegeven worden (display='';) veranderen naar display='hidden';
zonder dat ik alle divs moet noemen dus niet zo:

document.all.item('divname1).style.display='';
document.all.item('divname2).style.display='';
document.all.item('divname3).style.display='';

maar dat het iets word zoals:
document.all.item('divname*').style.display='';

Ik hoop dat jullie het begrijpen

  • Dennis
  • Registratie: Februari 2001
  • Nu online
Kan alleen in DOM2 denk ik, dus IE 5.5 en hoger en Mozilla / NS6. :)

Verwijderd

Topicstarter
no problem ;)
het is voor een admin systeem en die word maar door een aantal gebruikers gebruikt en de hebben allemaal IE 6 :+

  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

DOM only:
code:
1
2
3
4
5
6
7
8
<script language="javascript" type="text/javascript">
function hideAll()
{
    var aLayers = document.body.getElementsByTagName("DIV");
    for (var i=0; i<aLayers.length; i++)
        aLayers[i].style.visibility = 'hidden';
}
</script>

btw. voor niet DOM browsers is ook nog wel wat te verzinnen
bijv:
code:
1
2
3
// NS4
for (sLayer in document.layers)
    document.layers[sLayer].visibility="hidden";

Today's subliminal thought is:


Verwijderd

Topicstarter
zoiets?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
    <title>Untitled</title>
</head>
<style type=text/css>
.sub_hide { display: none; }
.sub_show { display: ; }
</style>
<script language=javascript>
function show_discription(id)
{
    for (var i=1; i<=4; i++)
    {
        var LLI = 'L' + i;
        document.all.item(LLI).className = 'sub_hide';
    }
    var LI = 'L' + id;
    document.all.item(LI).className = 'sub_show';   
}
</script>
<body>
<a href="javascript:void(0)" onclick="show_discription(1)">Link 1</a><br>
<a href="javascript:void(0)" onclick="show_discription(2)">Link 2</a><br>
<a href="javascript:void(0)" onclick="show_discription(3)">Link 3</a><br>
<a href="javascript:void(0)" onclick="show_discription(4)">Link 4</a><br>
<DIV class=sub_hide id=L1>Beschrijving link 1</DIV>
<DIV class=sub_hide id=L2>Beschrijving link 2</DIV>
<DIV class=sub_hide id=L3>Beschrijving link 3</DIV>
<DIV class=sub_hide id=L4>Beschrijving link 4</DIV>

</body>
</html>

Verwijderd

Vind je het niet wat 'cleaner' om een variabele bij te houden met het actieve menu? Dan hoef je niet elke keer alle DIVs te hiden, maar alleen diegene die ook echt zichtbaar is:
code:
1
2
3
4
5
6
7
8
9
10
11
var active = -1;
function show(num) {
   if(active!=-1) hide(active);
   documen.all['L'+num].style.visibility = 'visible';
   active = num;
}

function hide(num) {
   documen.all['L'+num].style.visibility = 'hidden';
   active = -1;
}

Verwijderd

Topicstarter
Nu je het zegt ja :D

Ik ben nog niet echt "volleerd" javascript guru :D
php wel maar ben nu net js echt aan het doorkrijgen
Maar thnx voor die tip heb er ook van geleerd
Pagina: 1