Avatar billede dava Nybegynder
27. juni 2002 - 15:51 Der er 6 kommentarer og
1 løsning

Finde styleproperties på elementer

Jeg sidder og roder lidt en lille håndfuld DIV tags der på skift skal være visible/hidden. Men betingelsen for at sætte visiblity på én DIV afhænger af, om der allerede er én ud af fire DIV's der allerede er visible. Hvis der er, så skal den visible DIV først gøres hidden, førend den næste DIV gøres visible.
Jeg har nogenlunde styr på at kode betingelserne, etc. Det jeg sådan set er på udkig efter, er hvordan jeg kan "læse" den aktuelle style på et bestemt, eller flere ubestemte DIV's...
-Håber at det giver mening... ;)
Avatar billede jakoba Nybegynder
27. juni 2002 - 16:29 #1
mon ikke du kan aflæse din divs visibility style:

    var nn = document.getElementById('dindivsid').style.visibility;
    alert( "div 'dindivid er " +nn );

og så teste på den. (der står nok noget andet i netscape, det skal der så tages højde for).

mvh JakobA
Avatar billede dava Nybegynder
27. juni 2002 - 16:47 #2
jo, det er mere eller mindre det jeg gør nu:
if (document.getElementById('mitdivsid').currentStyle.visibility == 'visible')
Men... i øjeblikket kører jeg et check på hvert 'divid' - i mit test script har jeg så fire af slagsen: id1, id2, etc -så det er jo til at arbejde med - men hvordan kan man gribe det an hvis der er en uoverskuelig mængde id's i hele documentet?
Avatar billede jakoba Nybegynder
27. juni 2002 - 16:59 #3
hvis alle de diver det handler om er  systematisk navngivet med id1, id2, id3, id4, id5,...  er det rimeligt nemt

for ( i=1; i<=storstenr; i++ ) {
    if (document.getElementById("id"+i).currentStyle.visibility == 'visible') {
        // jep, den er synlig
    } else {
        // Nope, den er usymlig
    }
}

jeg kunne forestille mig du har en form af den for-løkke allerede.
Avatar billede dava Nybegynder
27. juni 2002 - 18:42 #4
tjah... jeg havde egentlig håbet på at der findes en javascript kommando a'la document.etellerandet der så indeholder alle ID's i dokumentet, alt andet lige vil det jo give en lidt mere fleksibel kode ;)
Ellers tror jeg også at det er nødvendigt med nogle systematisk navngivne ID's og en løkke der kører dem igennem...
Avatar billede jakoba Nybegynder
27. juni 2002 - 18:55 #5
Ja og nej, der findes sådan en funktion
    var objArr = document.getElementsByTagName( "DIV" );  // måske Tagname (lille n)
    // den gør objArr til et array med referencer til alle div objekterne.

men jeg har svært ved at se nytten af den da der jo sandsynligvis er andre <div kommandoer der ikke skal håndteres på den måde.

mvh JakobA
Avatar billede jakoba Nybegynder
27. juni 2002 - 18:58 #6
Avatar billede dava Nybegynder
27. juni 2002 - 19:16 #7
ja okay... det ser ud til at man må gøre det manuelt.
Jeg smider alle ID's i dokumentet ind i et array og kører det igennem på den måde. Lidt "besværligt" men på den anden side, scriptet bliver skrevet ud af PHP anyway, så... :-)

Tak for kommentarene.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester