原生JS动画

思路:

1.原生js使用setInterval 每N秒钟改变属性值;

2.原生js使用setInterval 每N秒钟改变属性值,结合css transition 属性,实现效果,效果较好;

 

HTML:

<div id="test" style="width: 0px; height: 100px; background-color:pink;"></div>

JS :

function 1:

<script>  

    let befor = 0 ;
    let set= 300 ;

    let result = setInterval( ()=>{
        befor += 100  
       //小于等于设置值,就停止动画
        if( befor <= set)
        {
            clearInterval(result);
        }
            document.getElementById('test').style.width = befor + "px";

    },200); 
</script>

 

Function2:

css:

transition:width 2s linear;

 -webkit-transition:width 2s linear; /* Safari */

<script>   
    let befor = 0 ;
    let after = 300 ;

    let result = setInterval( ()=>{
        befor = after  
        if( befor >= after )
        {
            clearInterval(result);
        }
        document.getElementById('test').style.width = befor + "px";
    },200);


</script>

 

全部代码,复制粘贴即可:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>自定义动画</title>
<style> 
div
{
    width:0px;
    height:100px;
    background:red;
    transition:width 2s linear;
    -webkit-transition:width 2s linear; /* Safari */
}

/*div:hover
{
    width:300px;
}*/
</style>
</head>
<body>

<p><b>注意:</b>该实例无法在 Internet Explorer 9 及更早 IE 版本上工作。</p>

<div id="test"></div>

<p>鼠标移动到 div 元素上,查看过渡效果。</p>
<script>
   
    let befor = 0 ;
    let after = 300 ;

    let result = setInterval( ()=>{
        befor = after
        if( befor >= after )
        {
            clearInterval(result);
        }
        document.getElementById('test').style.width = befor + "px";
    },200);


</script>
</body>
</html>

 


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值