jQuery核心对象——动画

基本动画效果

  • show([speed,[easing],[fn]]):显示隐藏的匹配元素。
  • hide([speed,[easing],[fn]]):隐藏显示的元素
  • toggle([speed],[easing],[fn]):如果元素是可见的,切换为隐藏的;如果元素是隐藏的,切换为可见的。

显示隐藏,默认没有动画,如果设置时间就会有动画,动画通opacity/height/width的改变实现。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>淡入淡出</title>
    <style>
        .div1{
            width: 200px;
            height: 200px;
            background-color: tomato;
        }
    </style>
</head>
<body>
    <button id='btn1'>立即显示</button>
    <button id='btn2'>慢慢显示</button>
    <button id='btn3'>慢慢隐藏</button>
    <button id='btn4'>隐藏显示切换</button>
    <br>
    <div class="div1">

    </div>
    <script type='text/javascript' src='./jquery库/jquery-1.12.4.js'></script>
    <script>
        var $div1 = $('.div1')
        $('#btn1').click(function  (){
            $div1.show()
        })
        $('#btn2').click(function  (){
           $div1.show(3000)
        })
        $('#btn3').click(function  (){
           $div1.hide(3000)
        })
        $('#btn4').click(function  (){
           $div1.toggle()
        })
    </script>
    
</body>
</html>

滑动效果

  • slideDown([speed],[easing],[fn]):通过高度变化(向下增大)来动态地显示所有匹配的元素,在显示完成后可选地触发一个回调函数。
  • slideUp([speed,[easing],[fn]]):通过高度变化(向上减小)来动态地隐藏所有匹配的元素,在隐藏完成后可选地触发一个回调函数。
  • slideToggle([speed],[easing],[fn]):通过高度变化来切换所有匹配元素的可见性,并在切换完成后可选地触发一个回调函数。
    这个动画效果只调整元素的高度,可以使匹配的元素以“滑动”的方式隐藏或显示。

eg:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>淡入淡出</title>
    <style>
        .div1{
            width: 200px;
            height: 200px;
            background-color: tomato;
        }
    </style>
</head>
<body>
    <button id='btn1'>慢慢收缩</button>
    <button id='btn2'>慢慢展开</button>
    <button id='btn3'>收缩展开切换</button>
    <br>
    <div class="div1">

    </div>
    <script type='text/javascript' src='./jquery库/jquery-1.12.4.js'></script>
    <script>
        var $div1 = $('.div1')
        $('#btn1').click(function  (){
            $div1.slideUp()
        })
        $('#btn2').click(function  (){
           $div1.slideDown(3000)
        })
        $('#btn3').click(function  (){
           $div1.slideToggle()
        })
    </script>
    
</body>
</html>

淡入淡出

  • fadeIn([speed],[easing],[fn]):通过不透明度的变化来实现所有匹配元素的淡入效果,并在动画完成后可选地触发一个回调函数。

这个动画只调整元素的不透明度,也就是说所有匹配的元素的高度和宽度不会发生变化。

  • fadeOut([speed],[easing],[fn]):通过不透明度的变化来实现所有匹配元素的淡出效果,并在动画完成后可选地触发一个回调函数。
  • fadeToggle([speed,[easing],[fn]]):通过不透明度的变化来开关所有匹配元素的淡入和淡出效果,并在动画完成后可选地触发一个回调函数。

eg:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>淡入淡出</title>
    <style>
        .div1{
            width: 200px;
            height: 200px;
            background-color: tomato;
        }
    </style>
</head>
<body>
    <button id='btn1'>慢慢淡出</button>
    <button id='btn2'>慢慢淡入</button>
    <button id='btn3'>淡入淡出切换</button>
    <br>
    <div class="div1">

    </div>
    <script type='text/javascript' src='./jquery库/jquery-1.12.4.js'></script>
    <script>
        var $div1 = $('.div1')
        $('#btn1').click(function  (){
        //    $div1.fadeOut("slow")
        // 可以设置回调函数
        $div1.fadeOut("slow",function (){
           alert("淡出完成")
        })
        })
        $('#btn2').click(function  (){
           $div1.fadeIn()
        })
        $('#btn3').click(function  (){
           $div1.fadeToggle()
        })
    </script>
    
</body>
</html>

自定义动画

  • animate(params,[speed],[easing],[fn]):用于创建自定义动画的函数。
  • stop([clearQueue],[jumpToEnd]):停止所有在指定元素上正在运行的动画。
  • delay(duration,[queueName]):设置一个延时来推迟执行队列中之后的项目。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>自定义动画</title>
    <style>
        .div1{
            position:absolute;
            width: 100px;
            height: 100px;
            top: 50px;
            left: 300px;
            background-color: tomato;
        }
    </style>
</head>
<body>
    <button id="btn1">逐渐扩大</button>
    <button id="btn2">移动到指定位置</button>
    <button id="btn3">移动指定距离</button>
    <button id="btn4">停止动画</button>
    <div class="div1">
        HelloWorld!
    </div>

    <script type='text/javascript' src='./jquery库/jquery-1.12.4.js'></script>
    <script>
        var $div1 =$('.div1')
        // 1.逐渐扩大
        // 1).宽/高都扩为200px
        // $('#btn1').click(function (){
        //    $div1.animate({
        //        width:200,
        //        height:200
        //    },3000)
        // })
         // 2).宽先扩为280px,高后扩为200px
        $('#btn1').click(function (){
           $div1
           .animate({
               width:200
           },3000)
           .animate({
               height:200
           })
        })


        // 2.移动到指定位置
        $('#btn2').click(function (){
        // 1).移动到(500, 100)处
        //   $div1.animate({
        //       left:500,
        //       top:100
        //   },1000) 

        // 2).移动到(100,20)处
         $div1.animate({
              left:100,
              top:20
          },1000) 
        })


        // 3.移动指定的距离
        $('#btn3').click(function (){
        // 1).移动距离为(100, 50)
        // $div1.animate({
        //     left:'+=100',
        //     top:'+=50'
        // })
        // 2).移动距离为(-100,-20)
            $div1.animate({
            left:'-=100',
            top:'-=20'
        },3000)
        })

        // 4.停止动画
        $('#btn4').click(function (){
           $div1.stop()
        })
    </script>
</body>
</html>

应用:导航菜单的下拉,收缩

$( #navigation>ul>li:has(u1)' ).hover(function () {/动画展开
$(this).children( 'ul').stop().slideDown()}, function (){
/动画收缩
$(this).children( 'ul' ).stop().slideUp()})

设置

  • jQuery.fx.off:关闭页面上所有的动画。
  • jQuery.fx.interval:设置动画的显示帧速。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值