tags:

views:

83

answers:

1

Hello,

I am using the .animate function in Jquery. I have a div that slides over using marginLeft, but I also need it to fade in, but I need it to be slower than the marginLeft effect. With .animate, I can only seem to apply one speed parameter.

<script type="text/javascript">
 $(document).ready(function(){
 $(".topFrameAnim").css("opacity", "0.0");
  $(".topFrameAnim").animate({
  marginLeft: "0",
    }, 500 );

    $(".topFrameAnim").animate({
  opacity: "1",
    }, 1000 ); // Need this effect to be applied at the same time, at a different speed.




    });


</script>
+1  A: 

You need to use the two argument form of animate, with queue:false in the options array (on the first animation):

<script type="text/javascript">
 $(document).ready(function(){
 $(".topFrameAnim").css("opacity", "0.0")

 .animate({
  marginLeft: "0",
    }, { queue: false, duration: 500 )
  .animate({
  opacity: "1",
    }, 1000 ); // Need this effect to be applied at the same time, at a different speed.

    });


</script>

Note: It's .animate here to reduce the number of selectors used. Since you're selecting the same objects, it's better to reuse the existing object.

R. Bemrose
Thank you that was what I was looking for!
Jared