Avatar billede sansalvador Nybegynder
04. marts 2004 - 12:49 Der er 7 kommentarer og
1 løsning

Problem med javascript

Generelt har jeg et problem. Mig og JS snakker ik ret godt sammen, og det kulminerer nu i dette spørgsmål:

Jeg har denne <div> boks:

<div id="testdiv">
Et eller andet
</div>

Det vil jeg gerne have skjult ...
Det har jeg denne funktion til (bruger enten den ene eller den anden .. ligemeget, men nu kommer begge med, så kan I kommentere brugen af dem også ;))

function close(){
 
    testdiv.visibility = "hidden";
    testdiv.display = "none";
 
}

Problemet er bare, - at der ikke sker en disse. Fejl kommer der heller ikke nogen af...?

Hjælp...
Avatar billede christian Nybegynder
04. marts 2004 - 12:52 #1
Du mangler style:
function close(){
 
    testdiv.style.visibility = "hidden";
    testdiv.style.display = "none";
 
}
Avatar billede christian Nybegynder
04. marts 2004 - 12:52 #2
visibility og display er en property på style og ikke direkte på div'en
Avatar billede sansalvador Nybegynder
04. marts 2004 - 12:54 #3
Det var en ups, det havde jeg glemt.

Men så er vi tilbage til mit gamle problem igen. Den siger at testdiv.style er et NULL eller ikke et objekt ....?
Avatar billede nute Nybegynder
04. marts 2004 - 13:08 #4
du skal hive fat i objektet:

document.getElementById( "testdiv" ).style.visibility = "hidden";
document.getElementById( "testdiv" ).style.display = "none";

/nute
Avatar billede sansalvador Nybegynder
04. marts 2004 - 13:11 #5
Tjaa .. Jeg har prøvet en masse ting (også Getelementbyblabal), men åbenbart i nogle forkerte kombinationer :)

Men nu virker det med dit forslag nute .. Takker.
Avatar billede christian Nybegynder
04. marts 2004 - 13:13 #6
underligt... følgende virker fint hos mig:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
    <title>Untitled</title>
</head>
<body>
<script>
function close(){
 
    testdiv.style.visibility = "hidden";
    testdiv.style.display = "none";
 
}
</script>
<div id="testdiv">
Et eller andet
</div>
Det vil jeg gerne have skjult ...
Det har jeg denne funktion til (bruger enten den ene eller den anden .. ligemeget, men nu kommer begge med, så kan I kommentere brugen af dem også ;))
<a href="java script:close();">test</a>
</body>
</html>
Avatar billede sansalvador Nybegynder
04. marts 2004 - 13:15 #7
Ja .. Nogle gange skal getelementbyid med.. Andre gange behøves det ikke ...???
Avatar billede nute Nybegynder
04. marts 2004 - 13:24 #8
desuden er der ingen point i både at sætte display og visibility. med display, så "fjerner" du hele dit layer, men med visibility så skjuler du det bare.

når jeg skriver "fjerne", så er det fordi at det html der står over og under, rykker sammen, mens når du skjuler, så vil html blive stående der de står. prøv selv:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
    <title>Untitled</title>
    <script language="JavaScript" type="text/javascript">
    <!--
    function setDisplayStyle( strDivID )
    {
        var objStyle = document.getElementById( strDivID ).style;

        if( objStyle.display == "" || objStyle.display == "block")
        {
            objStyle.display = "none";
        }
        else
        {
            objStyle.display = "block";
        }   
    }
    function setVisibilityStyle( strDivID )
    {
        var objStyle = document.getElementById( strDivID ).style;
        if( objStyle.visibility == "" || objStyle.visibility == "visible")
        {
            objStyle.visibility  = "hidden";
        }
        else
        {
            objStyle.visibility  = "visible";
        }   
    }
    //-->
    </script>
</head>

<body>
Denne tekst bliver stående
<div id="divvisibility" style="border:1px solid black;height:50px;">Denne tekst forsvinder</div>
Denne tekst bliver også stående når du klikker <a href="java script:void(0);" onclick="setVisibilityStyle( 'divvisibility' );">her</a><br>

Denne tekst bliver stående
<div id="divdisplay" style="border:1px solid black;height:50px;">Denne tekst forsvinder</div>
Denne tekst rykker når du klikker <a href="java script:void(0);" onclick="setDisplayStyle( 'divdisplay' );">her</a><br>
</body>
</html>

/nute
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