Sadly not. I get the exact same behaviour with this...
On Nov 14, 9:38 pm, "Chris Robinson" <[EMAIL PROTECTED]> wrote:
> try this and see if its better:
>
> var counter = 0;
> var id = setInterval("refresh()",30);
>
> function refresh(){
> //This doesn't leak:
> /*
> counter++;
> var children = document.getElementById("ground").childNodes;
> for(i = 0; i < children.length; i++){
> var child = children[i];
> if(child.style){
> child.style.left = ""+counter+"px";
> }
> }*/
> // But this does a lot!
> counter++;
> $("#ground").children().each(function(index, child) {
> $(child).css("left", counter);
> });
>
> // this just stops the animation after a certain time
> if(counter > 300 )clearInterval(id);
>
> }
> On Fri, Nov 14, 2008 at 7:53 AM, Selim <[EMAIL PROTECTED]> wrote:
>
> > Hi,
>
> > I recently discovered a rather strange behaviour under Firefox 3. I
> > have been able to reproduce it on Firefox 3.0.3, 3.1b1 as well as the
> > latest nightly build with TraceMonkey enabled. Neither Chrome, IE7,
> > nor Opera (9.62) exhibit this behaviour. It occurs when changing many
> > time the position of a large number of elements by modifying their CSS
> > attributes to generate an animation.
>
> > It's not exactly a memory leak because after some times ff3 seams to
> > detect it and frees the memory. But this garbage collection takes a
> > lot of CPU thus making the animation very laggy at the time it occurs.
>
> > This is the shortest code that I've been able to find that generate
> > this. I used as few jQuery functions as possible to isolate the
> > problem.
>
> > var counter = 0;
> > var id = setInterval("refresh()",30);
>
> > function refresh(){
> > //This doesn't leak:
> > /*
> > counter++;
> > var children = document.getElementById("ground").childNodes;
> > for(i = 0; i < children.length; i++){
> > if(children[i].style){
> > children[i].style.left = ""+counter+"px";
> > }
> > }*/
> > // But this does a lot!
> > counter++;
> > var children = document.getElementById("ground").childNodes;
> > for(i = 0; i < children.length; i++){
> > $(children[i]).css("left", counter);
> > }
> > // this just stops the animation after a certain time
> > if(counter > 300 )clearInterval(id);
> > }
>
> > When running this simple example you'll see the memory used by Firefox
> > going up by 20 to 30mo in a mater of seconds. The full example (js
> > +html) can be find athttp://gamequery.onaluf.org/ff3mljq/it uses a
> > recent nightly build of jQuery but the exact same thing occurs with
> > 1.2.6. Any Idea of what is going on here ? Is this a bug in firefox,
> > is there something I'm doing wrong in my code?
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"jQuery Development" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/jquery-dev?hl=en
-~----------~----~----~----~------~----~------~--~---