jquery .animate different speeds

删除回忆录丶 提交于 2019-12-07 16:56:03

问题


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:


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.



来源:https://stackoverflow.com/questions/1902027/jquery-animate-different-speeds

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!