JSタイマーを使用して要素を移動する

JSタイマーを使用して要素を移動する

JS タイマーを使用して、要素に移動する効果のあるメソッドを作成します。実装のアイデアは、まず要素の左側からの距離を格納する変数を宣言し、次に要素が毎回移動する必要がある距離を格納する変数を宣言し、最後にこのメソッドに完了時間を指定することです。取得した値が数値データでない場合は変換する必要があり、変換しないと判定できないことに注意してください。次に、要素が特定の位置に移動した後、負のステップ値を与えると要素が元の位置に戻ることを決定します。

要素が左側または右側に移動したときに回転効果を実現する方法についても考えることができます。

<!DOCTYPE html>
<html>
 <ヘッド>
  <メタ文字セット="UTF-8">
  <タイトル></タイトル>
  <スタイル タイプ="text/css">
   *{マージン: 0;パディング: 0;}
   本文{位置: 相対;}
   #箱{
    幅: 120px;高さ: 120px;背景: 緑;
    位置: 絶対;上: 100px;
    /* ここで背景画像を移動対象として導入することができます。 */
    /* 背景: url(img/paobu_huaban.png) 0 0/100% 100%; */
   }
  </スタイル>
 </head>
 <本文>
  <button type="button" id="Button">クリックして移動します</button>
  <div id="box" style="left: 0px;"></div>
  
  <script type="text/javascript">
   var ボタン = document.getElementById("ボタン");
   var box = document.getElementById("box");
   // 1 回に移動するピクセル数。step はステップの長さを表します。var step = 5;
   Button.onclick = 関数(){
    
    var タイマー = setInterval(関数(){
     
     //ボックスの左側の値を取得し、整数に変換します。計算を実行する前に数値に変換する必要があります。
     // parseInt は取得した文字列を文字型に変換することを意味します var o_left = parseInt(box.style.left);
     //要素をより速く移動させたい場合は、各移動の距離を増やすか、完了時間を短縮することができます。 //ただし、完了時間を短縮する方が効果的です。 var n_left = o_left+step; //毎回 10px 右に移動します
     box.style.left = n_left+"px";
     if ( n_left>500) { //移動距離が400pxより大きい場合は後退します step = -5;
     }そうでない場合(n_left==0){
      ステップ = 5;
     }; 
    },100);
   };
   
  </スクリプト>
 </本文>
</html>

結果は次のとおりです。

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

以下もご興味があるかもしれません:
  • JavaScriptタイマーの詳細な説明
  • JavaScript タイマーの詳細
  • 期間限定フラッシュセール機能を実現するJavaScriptタイマー
  • js で 0ms 遅延タイマーを実装するいくつかの方法
  • 画像のシームレスなスクロールを実現する JavaScript タイマー
  • JavaScript タイマー原理の詳細な説明

<<:  Ubuntu システムにおけるネットワーク構成ファイルの分析と説明

>>:  GolangでMySQLデータベースを操作するための実装コード

推薦する

MySQLでヘッダー付きのCSVファイルをエクスポートする方法

公式ドキュメント http://dev.mysql.com/doc/refman/5.7/en/se...

HTMLでキーワードを強調表示するのに最適なソリューション

最近、プロジェクトに取り組んでいるときに、Web ページ上のキーワードを強調表示する機能に遭遇しまし...

Vueはソースコード付きのリファレンスライブラリのメソッドを使用します

monaco-editor-vueの公式ソースコードは次のとおりです。インデックス 'mon...

VMWare仮想マシンのcentosの時間が現地時間と矛盾する問題を解決する

VM Ware 仮想マシン CentOS の時刻は、次の図に示すように、現地時間と一致しません。おそ...

XHTML: フレーム構造タグ

フレーム構造タグ <frameset></frameset>フレームを使用す...

WeChatアプレットがSMS認証コード送信のカウントダウンを実装

この記事では、WeChatアプレットがSMS認証コードのカウントダウンを送信するための具体的なコード...

Centos7.6にTomcat-8.5.39をインストールする方法

Centos7.6 に Tomcat-8.5.39 をインストールする方法は次のとおりです。詳細は次...

JavaScript JSON.stringify() の使用法の概要

目次1. 使用方法1. 基本的な使い方2. 2番目のパラメータ - フィルター3. 3番目のパラメー...

ミニプログラムは左スライドのドロワーメニューをネイティブに実装します

目次WXS レスポンス イベントプランAページ構造とスタイルWXS イベントコールバック関数WXS ...

トップに戻るボタンの例の JavaScript 実装

この記事では、トップに戻るボタンを実装するためのJavaScriptの具体的なコードを参考までに紹介...

Dockerは指定されたメモリで操作を実行します

次のように: -m, --memory メモリ制限。形式は数値と単位です。単位は b、k、m、g の...

HTMLの基本構造を包括的に理解する

HTML入門ハイパーテキスト マークアップ言語: ハイパーテキスト マークアップ言語ハイパーテキスト...

flex-grow、flex-shrink、flex-basis、9グリッドレイアウトを理解する

1. flex-grow、flex-shrink、flex-basis プロパティflex-grow...

Apache ab同時負荷ストレステストの実装方法

腹筋コマンドの原則Apache の ab コマンドは、マルチスレッドの同時リクエストをシミュレートし...

Windows に MySQL をインストールする方法のグラフィック チュートリアル

概要: この記事では主に、Windows 環境に MySQL をインストールする方法について説明しま...