美文网首页
【小结】jQuery动画基础/计时器

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

作者: 音无级鹦鹉螺号szhiku | 来源:发表于2019-06-20 13:50 被阅读0次

    动画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()。

    相关文章

      网友评论

          本文标题:【小结】jQuery动画基础/计时器

          本文链接:https://www.haomeiwen.com/subject/xvwhqctx.html