You might try moving your opening animations to $(window).load(function()
{...});

--Erik


On 8/15/07, Larry Garfield <[EMAIL PROTECTED]> wrote:
>
>
>
> Good <insert time of day here> jQuery.
>
> I have a site where I have a series of animations that need to run on
> load.  I also have a large number of other events that happen on load to
> setup various other effects and animations and modal popups and other
> goodness.  Individually, I have all of them working (yay!).  However, when I
> put them all together in the page the opening animation is very herky jerky
> (boo!).  I'm assuming that's because the animation happens on ticks, and
> ticks are delayed by other non-trivial hookup functions that are running on
> $(document).ready().  So I'm having, essentially, thread sync issues (yay!).
>
> Since none of the other hookup functions really *have* to happen
> immediately, but could happen after the opening animation (presumably no one
> is going to be clicking on links while parts of the page are still fading
> in), my thinking is to simply have the hookups not fire on document.readybut 
> on
> animation.complete.  They're all residing in different files, however, and
> merging everything into one big script would be a huge hassle as well as
> much more brittle code.  I also want to keep it modular so that I don't have
> to hard-code every init function into the animation routines.
>
> Sooo...
>
> My plan at this point is to introduce a new event,
> document.animationIsDoneSoPageIsReallyReady (or something less silly
> sounding), and have the other hookups fire on that event instead.  So the
> code would look like:
>
> $(document).ready(function() {
>   // Do animation stuff here.
>
>   $(document).trigger('reallydone');
> });
>
> // in another file
> $(document).bind('reallydone', function() {
>   // Hook up jqModal.
> });
>
> // in another file
> $(document).bind('reallydone', function() {
>   // Hook up a different jqModal.
> });
>
> // in another file
> $(document).bind('reallydone', function() {
>   // Hook up some scrolling effects and other weirdness.
> });
>
> So my questions to the audience are:
>
> 1) Is my analysis of the problem correct?
>
> 2) Is this a reasonable way to go about solving it?
>
> 3) Is my code sample above somewhat vaguely accurate?
>
> 4) Any suggestions or gotchas that could save me some hair? :-)
>
> Many thanks.
>
> --Larry Garfield
>
>

Reply via email to