第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

用requestAnimationFrame實(shí)現(xiàn)的一個(gè)動(dòng)畫(huà)效果

標(biāo)簽:
Html/CSS JavaScript

在看Scott老师的node视频中,讲到一个动画效果,我用requestAnimationFrame实现了这个效果。

代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>应用requestAnimationFrame做一个动画效果</title>
    <style type="text/css">
        .ball{
            width: 20px;
            height: 20px;
            border-radius: 50%;
        }
        .red{
            background-color: red;
        }
        .green{
            background-color: green;
        }
        .blue{
            background-color: blue;
        }
    </style>
</head>
<body>
    <p>在看node教程,老师介绍promise时,用seTtimeout实现了一个动画效果,用requestAnimationFrame练练手</p>
    <div>
        <p class="ball red" style="margin-left:0px;"></p>
        <p class="ball green" style="margin-left:0px;"></p>
        <p class="ball blue" style="margin-left:0px;"></p>
    </div>
    <script type="text/javascript">
        var red = document.querySelector(".red");
        var green = document.querySelector(".green");
        var blue = document.querySelector(".blue");
        window.requestAnimationFrame = window.requestAnimationFrame  window.mozRequestAnimationFrame  window.webkitRequestAnimationFrame  window.msRequestAnimationFrame;

        ani(red,100,function(){
            ani(green,200,function(){
                ani(blue,150,function(){
                    ani(red,150);
                    ani(green,150)
                })
            })
        })
        function ani(node,to,callback){
            var marginLeft = parseInt(node.style.marginLeft);
            requestAnimationFrame(function(){
                if (marginLeft == to) {
                    callback && callback()
                }else{
                    if (marginLeft < to) {
                        marginLeft++
                    }else if(marginLeft>to){
                        marginLeft--
                    }
                    node.style.marginLeft = marginLeft + "px";
                    ani(node,to,callback)
                }
            })  
        }
    </script>
</body>
</html>
點(diǎn)擊查看更多內(nèi)容
2人點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶(hù)
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專(zhuān)欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消