Avatar billede mik789 Nybegynder
15. marts 2004 - 15:44 Der er 4 kommentarer og
1 løsning

slanke et sdript

I sp. http://www.eksperten.dk/spm/474337 postede roenving dette udmærkede script der giver en række divs samme højde:

<script type="text/javascript">
var divs = ['main','menu'];

function syncronizeDivs(){
    var maxH = 0;
    d = document.getElementsByTagName("DIV");
    for(i=0;d.length>i;i++){
        for(j=0;divs.length>j;j++){
            if(d[i].id==divs[j])maxH = Math.max(maxH,d[i].offsetHeight);
        }
    }
    for(i=0;d.length>i;i++){
        for(j=0;divs.length>j;j++){
            if(d[i].id==divs[j])d[i].style.height=maxH + 'px';
        }
    }
}
</script>

Men man burde da kunne slanke det. Hvorfor er det nødvendigt at løbe ALLE divs igennem? Hvordan kunne man evt. bare nøjes med at sammenligne offsetHeight for divs'ene i divs arrayet uden at skulle tage sig af alle de andre divs på siden? Har prøvet med lidt forskelligt der ikke rigtig vil lykkes.

//mik
Avatar billede mik789 Nybegynder
15. marts 2004 - 15:44 #1
sdript == "script"
Avatar billede roenving Novice
15. marts 2004 - 15:52 #2
Det har du nok ret i !-)

-- Det er fordi det oprindeligt er lavet til at finde divs med en speciel class, og jeg tænkte åbenbart ikke så hurtigt på det tidspunkt ...

-- så når vi alligevel har fat i id, så kan man vel:

<script type="text/javascript">
var divs = ['main','menu'];

function syncronizeDivs(){
    var maxH = 0;
    for(i=0;divs.length>i;i++){
        maxH = Math.max(maxH,document.getElementById(divs[i]).offsetHeight);
    }
    for(i=0;divs.length>i;i++){
        document.getElementById(divs[i]).style.height=maxH + 'px';
    }
}
</script>

-- absolut utestet !-)
Avatar billede mik789 Nybegynder
15. marts 2004 - 16:03 #3
jamen det har jeg lige, og det virker fint. Jeg rodede rundt med hvor jeg skulle få docuemnt.getElementById ind i scriptet og ramte altså ikke den rigtige løsning.
tak skal du have, læg et svar ;-)
Avatar billede roenving Novice
15. marts 2004 - 16:27 #4
Velbekomme '-)
Avatar billede roenving Novice
15. marts 2004 - 17:20 #5
-- og tak for points ;~}
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

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