Toon posts:

Realtime div resizen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Voor mijn internet pagina wil ik een div gebruiken die zodra de pagina geladen is 'groeit'

Hiervoor gebruik ik het volgende stukje code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<script language = text/javascript>

    function startmotion() {
        var layer = main;
        for (var i=0; i <450; i++) {
            var wide = i;
            while (var count=0; count<100; count++) {
            }
            resize(wide, layer);
        }
    }

    function resize(wid, whichlayer) {
        document.getElementById(whichlayer).style.width = wid;
    }

</script>


en in de body van mijn HTML staat de div:
code:
1
2
<body onLoad="startmotion()">
<div id="main"></div>


Wanneer ik deze pagina laadt in mijn browser(=IE), geeft ie als foutmelding dat IE zeer traag/instabiel geworden is. En dat terwijl er op zich geen rare dingen gebeuren in de code...

Is een div resizen op deze manier mogelijk? of is dit te belastend voor een browser?

  • Clay
  • Registratie: Oktober 1999
  • Laatst online: 25-02 11:17

Clay

cookie erbij?

code:
1
2
3
4
for ( 450 ) {   
   while ( < 100 ) {
   }
}


dat doet 45.000 keer wat, waarvan 44.550 keer niets. Dat is niet de meest efficiente manier nee. Dingen animeren kan je toch echt beter met timeouts of intervals doen. Dit wacht gewoon 45.000 keer, en laat dan alleen het uiteindelijke resultaat zien zonder wat te animeren.

Instagram | Flickr | "Let my music become battle cries" - Frédéric Chopin


Verwijderd

Topicstarter
Ik had dit script eerst zonder counter gemaakt, waardoor WinXp meteen helemaal vastliep...

  • Norckon
  • Registratie: September 2000
  • Laatst online: 16-02 23:21
je code is sowieso zo brak als wat (onnodige vars, while loop die nix doet en ook nog 's ongeldige syntax heeft)...
probeer dit 's

code:
1
2
3
4
5
6
7
<script language=javascript>
    function startmotion() {
        for (var i=0; i<450; i++) {
            setTimeout("document.getElementById('main').style.width = "+i+";" ,i*10);
        }
    }
</script>

[ Voor 36% gewijzigd door Norckon op 11-03-2004 21:05 . Reden: code nog iets ingekort ]


Verwijderd

Topicstarter
bedankt norckon!

dit is idd beter dan mijn brakke code ;)