jQuery中animate的几种用法与注意事项_jquery

一、animate语法结构

animate(params,speed,callback)

params:一个包含样式属性及值的映射,比如{key1:value1,key2:value2}

speed:速度参数[可选]

callback:在动画完成时执行的函数[可选]

二、自定义简单动画

用一个简单例子来说明,实现单击某div在页面上横向飘动的效果。

<style>
 #cube{
  position:relative;/* 不加这句元素不能动 */
  width:30px;
  height:30px;
  background:red;
  cursor:pointer;
 }
</style>
<body>
 <div>
  <div id="cube"></div>
 </div>
 <script>
  $(function(){
   $("#cube").click(function(){
    $(this).animate({left:"100px"},2000)
   })
  })
 </script>

为了使元素动起来,要改变left属性。为了能影响元素top、right、bottom、left属性值必须声明元素的position。


演示效果

三、累加、累减动画

在之前的代码中,设置了{left:"100px"}这个属性作为参数,如果改写为{left:"+=25px"} ,效果如下


演示效果

四、多重动画

同时执行多个动画

上面的例子是一个很简单的动画。如果想同时执行多个动画,比如在元素向右滑动的同时,放大元素高度。

代码如下:

$(this).animate({left:"+=25px",height:"+=20px"},1000)

演示效果

五、按顺序执行多个动画

上例中,向右滑动与高度变大是同时发生的,如果想让方块先向右滑动再变高,只需将代码拆分

如下:

$(this).animate({left:"+=25px"},500)
  .animate({height:"+=20px"},500)

像这样的动画效果的执行有先后顺序,称为“动画队列”


演示效果

六、综合示例

单击方块,让他向右移动的同时增高,不透明度从50%增加到100%,之后上下移动,加宽,完成后淡出。

$("#cube").click(function(){
    $(this).animate({left:"100px",height:"100px",opacity:"1"},500)
    .animate({top:"40px",width:"100px"},500)
    .fadeOut('slow')
   })

为同一元素应用多重效果时可以通过链式方式对这些效果进行排队。


演示效果

七、动画回调函数

在上例中,如果想在最后一步切换css样式(background:blue),而不是淡出,如果按照通常处理,相关代码如下:

$("#cube").click(function(){
    $(this).animate({left:"100px",height:"100px",opacity:"1"},500)
    .animate({top:"40px",width:"100px"},500)
    .css("border","5px solid blue")//改动这行
   })

然而,css()方法被提前调用。


演示效果

引起这个问题的原因是,css()方法不会加入到动画队列中,而是立即执行。可以使用回调函数对非动画方法实现排队。

正确的相关代码如下:

   $("#cube").click(function(){
    $(this).animate({left:"100px",height:"100px",opacity:"1"},500)
    .animate({top:"40px",width:"100px"},500,function(){
     $(this).css("border","5px solid blue")
    })
   })

演示效果

值得注意的是,callback适用于jquery所有的动画方法,比如slidDown() ,show()等。

总结

以上就是关于jquery中animate的几种用法和注意事项,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。谢谢大家对的支持。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索jquery
, jquery中animate用法
, animate用法
animate的用法
jquery animate用法、jquery中animate用法、迪巧的用法及注意事项、胺碘酮用法注意事项、眼霜用法注意事项,以便于您获取更多的相关知识。

时间: 2024-09-14 09:14:06

jQuery中animate的几种用法与注意事项_jquery的相关文章

jQuery中after的两种用法实例

法一: 在每个p元素后插入内容: 复制代码 代码如下: $("button").click(function(){       $("p").after("<p>Hello world!</p>"); }); 法二: 复制代码 代码如下:  $("button").click(function(){     $("p").after(function(n){            

jQuery中bind与live的用法及区别小结_jquery

首先介绍这两个方法之前,我们常用的是click()方法 复制代码 代码如下: $("a").click(function() {     alert("hello");}); click()方法是bind()方法的一种简单方法.在bind()中,jQuery所有JavaScript事件对象,比如focus, mouseover,和resize,都是可以作为type参数传递进来的. 参数:type,[data],function(eventObject)例如: 复制代

jQuery中animate用法实例分析

 这篇文章主要介绍了jQuery中animate用法,实例分析了animate的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了jQuery中animate用法.分享给大家供大家参考.具体如下: 这是一个简单的animate函数尝试.代码如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 <script type="text/javascript"> $(document).ready

jQuery中animate()方法用法实例_jquery

本文实例讲述了jQuery中animate()方法用法.分享给大家供大家参考.具体分析如下: 此方法用于创建自定义动画,并且能够规定动画执行时长.擦除效果.动画完成后还可以地触发一个回调函数. animate()方法的使用: 方式一: 以"属性名/值"对象的方式定义动画终止样式属性.例如: 复制代码 代码如下: $("div").animate( {width:"1000px"}) 以上代码能够将div从原有的宽度调整到1000px.也可以一次性

jQuery中animate用法实例分析_jquery

本文实例讲述了jQuery中animate用法.分享给大家供大家参考.具体如下: 这是一个简单的animate函数尝试.代码如下: <script type="text/javascript"> $(document).ready(function(){ $(".side-box h3").toggle(function(){ $(this).addClass("box-arrow"); $(this).next(".sid

jQuery中delegate与on的用法与区别

 jQuery1.7中 .delegate()已被.on()取代,下面以示例的方式为大家介绍下jQuery中delegate与on的用法与区别,感兴趣的朋友可以参考下 在jQuery1.7中 .delegate()已被.on()取代.对于早期版本,它仍然使用事件委托的最有效手段.  在事件绑定和委派,delegate()和on在一般情况下,这两种方法是等效的.    .delegate() 指定的元素(属于被选元素的子元素)添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数.  代码如

jQuery中delegate和on的用法与区别详细解析

 本篇文章主要是对jQuery中delegate和on的用法与区别进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助 在jQuery1.7中 .delegate()已被.on()取代.对于早期版本,它仍然使用事件委托的最有效手段. 在事件绑定和委派,delegate()和on在一般情况下,这两种方法是等效的.   .delegate() 指定的元素(属于被选元素的子元素)添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数.    代码如下: // jQuery 1.4.3+

Jquery中find与each方法用法实例

这篇文章主要介绍了Jquery中find与each方法用法,实例分析了find与each方法的功能.定义与使用技巧,需要的朋友可以参考下 本文实例讲述了Jquery中find与each方法用法.分享给大家供大家参考.具体如下: 一.find()方法 jquery选择器非常强大,利用css的命名规约,可以更快更方便的找出想要的元素. 比如: 1 2 3 4$("#id") $("#"+"id") $(this) $(element) 等等,只要灵活

分享有关jQuery中animate、slide、fade等动画的连续触发、滞后反复执行的bug_jquery

我写文章的风格就是喜欢在开头讲问题法伤的背景: 因为最近要做个操作选项的呼出,然后就想到了用默认隐藏,鼠标划过的时候显示的方法. 刚开始打算添加一个class="active",直接触发mouseover(或者mouseenter)的时候add,mouseout(或者mouseleave)的时候remove,这个解决方法很简单,也很实用,但是体验上可能不是那么酷炫(好吧,这个词用的,瞬间感觉好low啊),所以就想到了用animate或者slide这些jQuery的动画,然后一开始讲真,