ネイティブJSが様々なスポーツの均一な動きを実現

ネイティブJSが様々なスポーツの均一な動きを実現

この記事では、ネイティブ JS で実装された均一なモーションを紹介します。その効果は次のとおりです。

実際の開発では、このようなモーションエフェクトはほとんど使用されないことに注意してください。弾性モーションとバッファリングモーションの方が一般的に使用されます。以下はコード実装です。コピー、貼り付け、コメントを自由に行ってください。

<!DOCTYPE html>
<html>
 
<ヘッド>
    <meta http-equiv="コンテンツタイプ" コンテンツ="text/html; charset=utf-8" />
    <title>ネイティブ JS でさまざまなスポーツの均一な動作を実現</title>
    <スタイル>
        #div1 {
            幅: 100ピクセル;
            高さ: 100px;
            位置: 絶対;
            背景: 赤;
            左: 0;
            上: 50px;
        }
 
        スパン {
            幅: 1px;
            高さ: 300px;
            背景:黒;
            位置: 絶対;
            左: 300ピクセル;
            上: 0;
        }
 
        ;
    </スタイル>
    <script type="text/javascript">
 
        var タイマー = null;
        関数 startMove(iTarget) {
 
            var oDiv = document.getElementById('div1');
 
            タイマーの間隔をクリアします。
            タイマー = setInterval(関数() {
                var iSpeed ​​= 0;
 
                oDiv.offsetLeft < iTarget の場合 {
 
                    iスピード = 7;
 
                } それ以外 {
 
                    iスピード = -7;
                }
                //終点に到達したか if (Math.abs(oDiv.offsetLeft - iTarget) < 7) {
                    // 終了ポイントに到達 clearInterval(timer);
 
                    oDiv.style.left = iTarget + 'px';
                } それ以外 {
                    //到着前 oDiv.style.left = oDiv.offsetLeft + iSpeed ​​+ 'px';
                }
            }, 30);
        }
    </スクリプト>
</head>
 
<本文>
    <input type="button" value="移動を開始" onclick="startMove(300)" />
    <div id="div1"></div>
    <span></span>
</本文>
 
</html>

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • jsは一方向への均一な動きを実現するためのステップ長を指定します
  • ネイティブJavaScriptで均一なモーションアニメーション効果を実現
  • JavaScript での等速運動の実装方法の分析
  • Javascript における等速運動の停止条件についての簡単な説明
  • Javascript で均一な動きを実現する方法について簡単に説明します
  • 均一な動きを実現する JS コード例
  • JS 等速運動デモサンプルコード
  • JavaScript での等速モーションと可変速度 (バッファリング) モーションの詳細な紹介

<<:  nginx クッキーの有効期間に関する議論の要約

>>:  mysql 8.0.19 win10 クイックインストールチュートリアル

推薦する

Linux ベースの MySQL マスター スレーブ構成の全プロセスを記録する

mysql マスタースレーブ構成1. 準備ホスト: 192.168.244.128スレーブ: 192...

Tomcat のパフォーマンス最適化方法の簡単な概要

Tomcat自体の最適化Tomcat メモリ最適化起動時に大きなメモリ ブロックが必要であることを ...

Dockerはブリッジを追加し、IPアドレスの範囲を設定します

バイナリ docker 19.03 バージョンがインストール後に docker0 ブリッジを自動的に...

hr 水平線スタイルの例コード

コードをコピーコードは次のとおりです。 <hr style="width:490px...

Vueのミックスインと継承について詳しく説明します

目次序文ミキシンMixin ノート (重複名)ローカルミックスイングローバル ミックスイン継承するミ...

Redhat 8.0 システムのインストール方法に関するグラフィック チュートリアル (初心者には必須)

目次1. はじめに2. インストール01. 新しい仮想マシンを作成する02. システムをインストール...

MySQLのロックについて理解しておくべきこと

1. はじめにMySQL ロックは、その範囲に応じて、グローバル ロック、テーブル ロック、行ロック...

JavaScript の差異を利用して比較ツールを実装する

序文仕事では、毎週従業員が提出した資料を数える必要がありますが、それを一つずつコピーして貼り付けるの...

vue3 watch と watchEffect の使い方と違い

1.リスナーを見る時計のご紹介 'vue' から { ref, reactive, ...

要素テーブルの行と列のドラッグを実装する例

要素 ui テーブルにはドラッグ アンド ドロップによる並べ替え機能が組み込まれておらず、サードパー...

JavaScript WebAPI、DOM、イベント、操作要素例の詳しい説明

目次ウェブAPI DOM DOMツリーDOM要素取得方法ドキュメントオブジェクトのプロパティイベント...

ブラウザがクロージャをどのように認識するかについて詳しく説明します

目次序文クロージャの紹介メモリのゴミを識別する方法クロージャのメモリ表現結論序文クロージャは、Jav...

入力ボックスのコンテンツプロンプトと非表示機能を実装する JavaScript

入力ボックスが小さい場合、内容を入力した後に、入力内容が拡大されたプロンプト ボックスを表示したいこ...

MySQLインスタンスが起動できない問題の分析と解決

目次序文シナリオ分析要約する序文数日前、友人がWeChatで私に連絡してきて、マシンがダウンタイムか...

Vue の長いリストをすばやく読み込む方法

目次背景メインコンテンツ1. コンポーネントの比較2. 実装のアイデア3. キーメソッドソースコード...