Gordon, So you are saying that if you have a class: .theAnimateClass{ position:absolute; left:0px; }
That the class params should change, not the inline params to that particular element: ie, you want to move the element with the class name of theAnimateClass for current position (0px) to 100px left: This: .theAnimateClass{ position:absolute; left:0px; } would change to: .theAnimateClass{ position:absolute; left:100px; } But incrementally, stepping 1px at a time to 100px, depending on the speed. If that is what you are saying, that is an interesting idea, not sure how that would be achieved though. On 7/5/07, Gordon <[EMAIL PROTECTED]> wrote:
That wasn't quite what I was getting at. While the ability to morph between one class and another is quite nifty, as far as I can tell, it stil works by modifying the style attribute of the target elements. What I'm suggesting is a speed optimization, where animation is achieved by modifying a rule in a stylesheet instead of modifying the style attribute of the target elements. On Jul 5, 4:19 pm, Karl Swedberg <[EMAIL PROTECTED]> wrote: > Hi Gordon, > > There is an extension to the .animate() method in Interface that > allows you to animate classes. Perhaps it's more in line with what > you're looking for? > See the demo here: > http://interface.eyecon.ro/demos/animate.html > > --Karl > _________________ > Karl Swedbergwww.englishrules.comwww.learningjquery.com > > On Jul 5, 2007, at 10:38 AM, Gordon wrote: > > > > > It has been my observation that, when animating a lot of elements, > > jQuery does so by manipulating the style attribute of each element to > > be animated directly. Accessign DOM attributes tends to be relitively > > slow in most browsers, and if you're applying an effect to a large > > number of elements, this can really tell as animations that were > > smooth for small numbers of elements grow increasingly choppy. > > > An idea occured to me, maybe it would be possible to use stylesheet > > rules for animating elements instead of manipulating the DOM style > > attribute directly. Of course this wouldn't be practical in all > > circumstances, but it could lead to dramatic speedups in the > > circumstances where it could be applied. > > > Foe example: Consider $('.someclass').fadeOut ('slow') as an example. > > In current versions of jQuery all elements that match the selector get > > an opacity value attached to their style attribute, which is then > > decremented down to 0 to produce the fadeout effect. This is fine > > when dealign with 10 or 20 elements, but when you're dealing with more > > than 100 the results are choppy enough that in some circumstances it > > can appear as if no animation took place at all and the elements were > > simply hidden. > > > now suppose that instead of doing that the jQuery library minipulated > > the .someclass rule directly (or created one if it didn't exist), now > > there would only be 1 value that would have to be decremented for the > > fadeout to happen instead of (number of elements) values. This would > > eliminate a lot of DOM access overhead, and would hopefully mitigate > > the choppiness problem when working with a lot of elements. Of course > > doing a lot of complex animation would cause choppiness no matter what > > you did, but a stylesheet rules based approach might stave off the > > threshold between an acceptible level and unacceptible level to a > > considerably higher level. > > > What do you think? Can something like this be done in a future > > version of jQuery? Would it be possible/practical? Would the > > elimated DOM overhead be worth it?
-- Benjamin Sterling http://www.KenzoMedia.com http://www.KenzoHosting.com