Heim > Web-Frontend > js-Tutorial > Hauptteil

js-Animation erreicht innerhalb einer bestimmten Zeit eine gleichmäßige Bewegung in eine Richtung

巴扎黑
Freigeben: 2017-07-20 14:16:18
Original
1078 Leute haben es durchsucht

Der spezifische Code lautet wie folgt

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        *{
            margin:0;
            padding:0;
        }
        #box{
            position:absolute;
            top:0;
            left:0;
            padding:0;
            width:100px;
            height:100px;
            background:lightblue;

        }</style>
</head>
<body>
    <div id=&#39;box&#39;></div>
    <script>//思想1:var oBox = document.getElementById('box');//实现一个匀速运动:在指定时间内完成动画:计算出总距离/总时间,然后求出对应的步长(每10ms走一步的话需要走多远)var maxLeft = (document.documentElement.clientWidth || document.body.clientWidth) - oBox.offsetWidth;var duration = 2000;var step = (maxLeft/duration)*10;var timer = window.setInterval(function(){var curLeft = utils.css(oBox,"left");
            curLeft+=step;if(curLeft>=maxLeft){
                window.clearInterval(timer);return;
            }
            utils.css(oBox,"left",curLeft);
        },10)//思想2:function Linear(t,b,c,d){//相对应的是time begin change durationreturn c*t/d+b        }var oBox = document.getElementById('box');var target = (document.documentElement.clientWidth || document.body.clientWidth) - oBox.offsetWidth;var begin = utils.css(oBox,'left'),change = target-begin;var duration = 2000,time = null;var timer = window.setInterval(function(){
            time+=10;if(time>=duration){
                utils.css(oBox,"left",target);
                window.clearInterval(timer);return;
            }var curPos = Linear(time,begin,change,duration);
            utils.css(oBox,"left",curPos)

        },10)</script>
</body>
</html>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonjs-Animation erreicht innerhalb einer bestimmten Zeit eine gleichmäßige Bewegung in eine Richtung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage