Avatar billede fauer Nybegynder
26. oktober 2007 - 10:10 Der er 11 kommentarer og
1 løsning

Kan jeg ikke tømme getElementById('tekstnav') helt i en ombæring?

Jeg har en knap som opdatere en tekst i et .asp dokument, sådan her:

on (release) {
    getURL("java script:document.getElementById('januar').style.display='none';document.getElementById('feburar').style.display='none';document.getElementById('marts').style.display='none';document.getElementById('april').style.display='none';document.getElementById('maj').style.display='none';document.getElementById('juni').style.display='none';document.getElementById('juli').style.display='none';document.getElementById('august').style.display='none';document.getElementById('september').style.display='none';document.getElementById('oktober').style.display='none';document.getElementById('november').style.display='none';document.getElementById('december').style.display='none';document.getElementById('gruppetxt').style.display='none';document.getElementById('pleje').style.display='none';document.getElementById('historie').style.display='none';document.getElementById('loeg').style.display='inline';void(0)");
}

Men som du kan se skal jeg ind og fortælle på hver eneste tekst at den ikke skal være synlig.

Kan jeg ikke sige "gør alle tekster i getElementById ikke synlig og sæt denne tekst i stedet, så jeg ikke skal remse hele striben af tekster op hver gang.

Håber det var forståeligt beskrevet.

Mvh fauer
Avatar billede w13 Novice
01. november 2007 - 11:55 #1
Hey. Hvordan ligger de elementer i din kode? Prøv lige at vis mig deres HTML-kode her.

Måske kan du bruge funktionen:

<script type="text/javascript">
function HideAll(elms){
    elms=document.getElementById(elms).childNodes;
    for(var i=elms.length-1;i>=0;i--){
        if(elms[i].nodeType==1) elms[i].style.display="none"
    }
}
</script>

Man kan kalder den med HideAll(id), hvor "id" er det overordnede elements id. Men det kræver selvfølgelig, at alle månederne ligger sammen.
Avatar billede fauer Nybegynder
01. november 2007 - 12:07 #2
Jeg vidste jeg kunne regne med dig w13  ;o)  de ligger allesammen sammen, så jeg prøver lige.

Mvh fauer
Avatar billede w13 Novice
01. november 2007 - 12:10 #3
Den funktion skjuler alle elementer i et overordnet element. Så skal du bare sætte et af dem til at være synligt igen bagefter. Alternativt kan du angive, hvilke id's der skal skjules med denne modificerede udgave:
-------------------------------------------
<script type="text/javascript">
function HideAll(elms){
    for(var i=elms.length-1;i>=0;i--){
        document.getElementById(elms[i]).style.display="none"
    }
}
HideAll(["jul","petersen","maj"])
</script>
Avatar billede fauer Nybegynder
01. november 2007 - 12:17 #4
Hmmm hvor skal jeg skrive scriptet?
Avatar billede w13 Novice
01. november 2007 - 12:25 #5
Scriptet skriver du på din HTML-side, dog uden HideAll(["bla","bla"]). Det var bare et eksempel på, hvordan du kalder den fra flash-filen.

Så:

HTML-siden: (placér den lige hvor du synes, bare i enten <head> eller <body>)
----------------------------
<script type="text/javascript">
function HideAll(elms){
    for(var i=elms.length-1;i>=0;i--){
        document.getElementById(elms[i]).style.display="none"
    }
}
</script>
----------------------------
Flashfilen, når du vil bruge funktionen:
----------------------------
HideAll(["jul","petersen","maj"])
Avatar billede fauer Nybegynder
01. november 2007 - 12:37 #6
Så skal jeg jo alligevel nævne dem alle i Flashfilen... selvfølgelig er det lidt nemmere, men det drejer sig om ca. 30 forskellige, og de skal jo ligge i den rigtige rækkefølge osv. for at virke.
Avatar billede w13 Novice
01. november 2007 - 12:42 #7
Ja, men så bruger du bare den første kode, jeg viste dig. Så skal du kun angive "parent"-elementet.

Det med rækkefølgen, du skrev, er jeg ikke helt med på. Min kode skjuler bare allesammen. Det burde ikke være problematisk. =)

Men ellers så brug den første kode.
Avatar billede w13 Novice
01. november 2007 - 12:44 #8
Men synes nu stadig, det er lidt bedre at skrive:

HideAll(["januar","februar","marts","april","juni","juli","august","september","oktober","november","december","gruppetxt","pleje","historie"])

End at skrive:

document.getElementById('januar').style.display='none';document.getElementById('feburar').style.display='none';document.getElementById('marts').style.display='none';document.getElementById('april').style.display='none';document.getElementById('maj').style.display='none';document.getElementById('juni').style.display='none';document.getElementById('juli').style.display='none';document.getElementById('august').style.display='none';document.getElementById('september').style.display='none';document.getElementById('oktober').style.display='none';document.getElementById('november').style.display='none';document.getElementById('december').style.display='none';document.getElementById('gruppetxt').style.display='none';document.getElementById('pleje').style.display='none';document.getElementById('historie').style.display='none';

:)
Avatar billede fauer Nybegynder
01. november 2007 - 13:08 #9
Det er klart bedre... og jeg vil også bruge det.. :o)
Avatar billede w13 Novice
01. november 2007 - 13:19 #10
Okidoke. Sig lige til, når det spiller! :)
Avatar billede fauer Nybegynder
28. november 2007 - 11:25 #11
w13 tak for hjælpen!!

Du skal jo også have dine points...

Har også arbejde ved siden af mit "lille" projekt, så desværre må jeg arbejde lidt i intevaller, så derfor hører først fra mig nu... jeg arbejder videre på sagen... :o)

fauer
Avatar billede w13 Novice
28. november 2007 - 14:36 #12
Det er helt i orden! Og mange tak for point! =)
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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