Web开发-动画入门

1.动画原理

将一个变化细分成若干个小步骤,逐步进行

2.执行基础-定时器(单位:毫秒)
(1)一次性定时器 setTimeout :页面加载后只执行一次

        setTimeout(function(){

                动作

        },执行时长(完成一次动作);

举例:页面加载一秒后弹出提示框“12345”

setTimeout(function(){

            alert(12345)

        },1000);

(2)重复定时器setInterval:根据设置条件重复执行

        setInterval(function(){

            动作

        },单次执行时长)

(3)清除定时器效果 clearInterval(定时器名)
        目的:停止当前定时器效果或清除上一步定时器效果

!小练习:设置一个定时器,要求页面输出一个从0到10的一个倒计时动画效果

代码:<h1>0</h1>

<script>

var h1 =document.querySelector("h1")

        var text=h1.innerText

            var time=setInterval(function(){

                h1.innerText=++text

                if(text==10){

                    clearInterval(time)

                }

            },1000)

</script>

3.封装的动画--JS

基于动画原理,封装成一个动画函数,即取即用是一个好办法,下面列举JQ中封装的几种动画:

参数:

     1.speed(速度):slow normal fast 确定值

     2.easing(效果):swing摆动 linear直线

     3.fn(回调函数):动画执行完执行函数

    <script>

        // 渐小渐大(基础默认)

        $(".hide").click(function(){

            $("div").hide(1000)

        })

        $(".show").click(function(){

            $("div").show(1000)

        })

        $(".toggle").click(function(){

            $("div").toggle(1000)

        })

        //卷帘效果

        $(".hide").click(function(){

            $("div").slideUp(1000)

        })

        $(".show").click(function(){

            $("div").slideDown(1000)

        })

        $(".toggle").click(function(){

            $("div").slideToggle(1000)

        })

        //淡入淡出

        $(".hide").click(function(){

            $("div").fadeOut(1000)

        })

        $(".show").click(function(){

            $("div").fadeIn(1000)

        })

        $(".toggle").click(function(){

            $("div").fadeToggle(1000)

        })

        透明度

        $(".toggle").click(function(){

            $("div").fadeTo(1000,0.3)

        })

    </script>

4.过渡效果transition--CSS

另外也可以忽略过程,让计算机完成过渡效果,通过设置执行时长来达到动画效果

transition: all linear 1s 0.5s

             /*

            变化的属性:指定目标        all(全部变化)

            速度:liner ease-in

            执行时长

            延时

            */

举例:鼠标悬停时,让盒子变宽,颜色变化

div{

            width: 200px;

            height: 200px;

            margin: 100px auto;

            background-color: rebeccapurple;

            transition: all linear 1s 0.5s;

            /* transition: background-color linear 1s 0.5s; */

            /* transition: width linear 1s 0.5s; */

        }

        div:hover{

            width: 600px;

            background-color: red;

        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值