【小结】jQuery动画基础/计时器

动画DOM及其CSS的操作

  • 原理
    我们需要以固定的时间间隔(如0.1s),每次DOM元素的CSS样式修改一点点(如宽和高增加10%),看起来就像动画了。
  • jQuery封装了三类动画函数。1.show(),hide(),toggle()。控制了目标元素的宽、高、透明度三个CSS属性。2.fadeIn(),fadeout(),fadeToggle(),不控制宽高,只控制透明度。3.slideDown(),slideUp(),slideToggle(),控制高度和透明度,不控制宽度
    #自定义动画
    animate()
    可以实现任意动画效果,需要传递的参数量DOM元素最终的CSS状态和时间。
    语法:
    $(selector).animate(styles,speed,easing,callback)
    如:
var div = $('#test');
div.animate({opacity:0.25,
width:'256px',
height:'256px'},3000);

参数:

  • speed
    可选。规定元素从隐藏到完全可见的速度。默认为 “0”。
    可能的值:
    毫秒 (比如 1500)
    “slow”
    “normal”
    “fast”
    在设置速度的情况下,元素从隐藏到完全可见的过程中,会逐渐地改变其高度、宽度、外边距、内边距和透明度。

  • callback
    可选。show 函数执行完之后,要执行的函数。

stop()
stop() 方法停止当前正在运行的动画。
语法:
$(selector).stop(stopAll,goToEnd)

  • stopAll 可选。规定是否停止被选元素的所有加入队列的动画。
  • goToEnd 可选。规定是否允许完成当前的动画。该参数只能在设置了 stopAll 参数时使用。
    delay()
    delay() 方法对队列中的下一项的执行设置延迟。
    语法:
    $(selector).delay(speed,queueName)
  • speed 可选。规定延迟的速度。
    可能的值:
    • 毫秒
    • “slow”
    • “fast”
  • queueName 可选。规定队列的名称。默认是 “fx”,标准效果队列。
    show()/hide()
    直接以无参形式调用show()和hide(),会显示和隐藏DOM元素,但是只要传递一个时间参数进去,就成了动画
    语法:
    $(selector).show(speed,callback)
    例如:
var div = $('#test-hide');
div.hide(2000);//在2秒内逐渐消失

参数:

  • speed
    可选。规定元素从隐藏到完全可见的速度。默认为 “0”。
    可能的值:
    毫秒 (比如 1500)
    “slow”
    “normal”
    “fast”
    在设置速度的情况下,元素从隐藏到完全可见的过程中,会逐渐地改变其高度、宽度、外边距、内边距和透明度。
  • callback
    可选。show 函数执行完之后,要执行的函
    除非设置了 speed 参数,否则不能设置该参数

toggle()
根据当前状态决定是show()和hide()
语法:
$(selector).toggle(speed,callback,switch)
参数:

  • speed
    可选。规定元素从可见到隐藏的速度(或者相反)。默认为 “0”。
    可能的值:
    毫秒 (比如 1500)
    “slow”
    “normal”
    “fast”
    在设置速度的情况下,元素从可见到隐藏的过程中,会逐渐地改变其高度、宽度、外边距、内边距和透明度。
    如果设置此参数,则无法使用 switch 参数

  • callback
    可选。toggle 函数执行完之后,要执行的函数。
    除非设置了 speed 参数,否则不能设置该参数

  • switch
    可选。布尔值。规定 toggle 是否隐藏或显示所有被选元素。
    True - 显示所有元素
    False - 隐藏所有元素
    如果设置此参数,则无法使用 speed 和 callback 参数

fadein()/fadeout()淡入淡出
也是通过不断设置opacity属性来实现,只控制透明度
属性和用法与**show()/hide()相同
fadeToggle()
根据元素是否可见来决定下一动作
属性和用法和
toggle()**相同,只控制透明度

slideUp()/slideDown()
slideDown():显示;slideUp():消失。类似于卷闸门。常用于下拉菜单效果。slideToggle(),整体是个百叶窗效果。
语法:
$(selector).slideUp(speed,callback)
参数:

  • speed
    和前面的speed一样
  • callback
    和前面的callback一样

通过使用滑动效果(高度变化)来切换元素的可见状态。
slideToggle()
如果被选元素是可见的,则隐藏这些元素,如果被选元素是隐藏的,则显示这些元素。
$(selector).slideToggle(speed,callback)
参数同上


计时器

setTimeout()和setInterval()
语法:
setTimeout(code,millisec)
方法用于在指定的毫秒数后调用函数或计算表达式

  • setTimeout() 只执行 code 一次。如果要多次调用,请使用 setInterval() 或者让 code 自身再次调用 setTimeout()。

本人简书传送门:https://www.jianshu.com/p/8d8fc50bdeb4

你可能感兴趣的:(【小结】jQuery动画基础/计时器)