16. september 2004 - 08:05Der er
17 kommentarer og 1 løsning
Lidt sparring til show/hide
Jeg skal lave noget show/hide på nogle tabeller.
Mit forslag er, at jeg laver et antal tabeller med hver sit id (1,2,3,4,5,6...) og så laver jeg en funtion der kaldes når jeg fører musen hen over nogle billeder.
<script type="text/javascript"> function skjulUndermenu() { for (i = 0; i < 3; i++) { document.i.style.visibility = hidden; } }
function visUndermenu(undermenu) { document.undermenu.style.visibility = visible; }
</script>
Men jeg kunne godt lige bruge lidt hjælp til om tankegangen er rigtig.
Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
Mit problem er, at når jeg så kalder visUndermenu med visUndermenu(a1) og har en tabel med id=a1, så melder den, at document.getElementById[...].style er null eller ikke et objekt.
Ja, men jeg skal bruge en funktion der hide'r de viste tabller når der køres over et nyt billede. Det må jo være den samme funktion som skjuler alle tabeller til at starte med.
En sådan funktion kan alligevel først køre uden risiko for fejl efter at siden er indlæst i browseren, og derfor vil man evt. kunne se et glimt af tabellerne før de skjules.
- en anden er en lille stavetosse af mig, funktionerne skal se sådan ud :o)
<script type="text/javascript"> var tarr = [];
function findtabeller(){ t = document.getElementsByTagName("table"); alert(t.length); for(i=0;i<t.length;i++) if(t[i].className=="undermenu")tarr[tarr.length]=t[i]; }
function visUndermenu(umenu){ for(i=0;i<tarr.length;i++) tarr[i].style.display = (i==umenu)?"inline":"none"; }
function skjulUndermenu(umenu){ tarr[umenu].style.display = "none"; }
window.onload = findtabeller; </script>
- og så skal du vist have nogle flere tabeller :o)
men at lave ovenstående på den måde kan godt blive noget rod, for du skal være ret konsekvent med placeringen af dine elementer :/ - så vi ændrer lige funktionen til at vise dem en lille smule ;o)
function visUndermenu(umenu){ for(i=0;i<tarr.length;i++) tarr[i].style.display = (tarr[i]==document.getElementById("u"+umenu))?"inline":"none"; }
- og så burde den være i vinkel - jeg kaster et svar ;o)
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.