JSはクリックドロップ効果を実装します

JSはクリックドロップ効果を実装します

jsはクリックとドロップの特殊効果を実現します。まずは効果画像を見てみましょう

画像をクリックしてドロップ

さっそく始めましょう。

<!DOCTYPE HTML>
<html>
<ヘッド>
<meta http-equiv="コンテンツタイプ" コンテンツ="text/html; charset=utf-8">
<title>無題のドキュメント</title>

<script src="jquery.js"></script>
<スクリプト>
window.onload = 関数(){
	var str = '';
	長さは20です。
	var aDiv = document.getElementsByTagName('div');
	var タイマー = null;
	var 数値 = 0;
	
	( var i=0; i<len; i++ ) の場合 {
		str += '<div style="width:50px; height:50px; background:red; position:absolute; top:0px; left:'+ i*60 +'px;"></div>';
	}
	
	ドキュメントのbody要素をstrで囲みます。
	
	document.onclick = 関数(){
		clearInterval(タイマー);
		タイマー = setInterval( 関数 () {
			DM( aDiv[num], 'top', 23, 500 );
			数値++;
			if ( 数値 === 長さ ) {
				clearInterval(タイマー);
			}
		}, 100 );
	};
};
</スクリプト>

</head>

<本文>
</本文>
</html>

ここでカプセル化方法を引用しました

関数 DM( obj, attr, dir, target, endFn ) {
	
	dir = parseInt(getStyle( obj, attr )) < target ? dir : -dir;
	
	間隔をクリアします( obj.timer );
	
	obj.timer = setInterval(関数() {
		
		var speed = parseInt(getStyle( obj, attr )) + dir; // ステップの長さ		
		if ( 速度 > ターゲット && 方向 > 0 || 速度 < ターゲット && 方向 < 0 ) {
			速度 = ターゲット;
		}
		
		obj.style[attr] = 速度 + 'px';
		
		if ( 速度 == ターゲット ) {
			間隔をクリアします( obj.timer );
			
			/*
			if ( 終了Fn ) {
				終了Fn();
			}
			*/
			endFn && endFn();
			
		}
		
	}, 30);
}

クリックアンドドロップ効果を JS で実装する方法についての記事はこれで終わりです。より関連性の高い js クリックアンドドロップコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後も 123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • ドラミング効果を実現するJavascript

<<:  Dockerコンテナのセルフスタートを実装する方法

>>:  Ubuntu でディスク容量不足により MySQL が起動しない場合の解決策

ブログ    

推薦する

シェルでパスワードなしでMySQLデータベースに素早くログインする方法

背景Shell の mysql-client を介して MySQL データベースにログインする場合、...

Maven で tomcat8-maven-plugin プラグインを使用する詳細なチュートリアル

オンラインで多くの記事を検索しましたが、解決策は見つかりませんでした。次のように、tomcat7-m...

tdが空の場合に境界線を表示する方法

以前、CSS を使用してテーブルの border + bordercolordark + borde...

Dockerコンテナシェルスクリプトの実行ステータスを監視する方法

シナリオ会社のプロジェクトはDockerでデプロイされています。原因不明ですが、コンテナが時々停止し...

JavaScript BOM の説明

目次1. BOMの紹介1. JavaScriptは3つの部分から構成される2.ウィンドウオブジェクト...

SQL でテーブルにフィールドとコメントを追加する方法

1. フィールドを追加します。 alter table テーブル名 ADD フィールド名 タイプ;例...

Vue3 コンポジション API でロジックの再利用を実装する方法

Composition API はロジック再利用手順を実装します。ロジックコードを関数に抽出します。...

MySQLのデフォルトのソートルールに基づく落とし穴

MySQL のデフォルトの varchar 型は大文字と小文字を区別しません (insensitiv...

Apache Bench ストレステストツールの実装原理と使用状況分析

1: スループット(1秒あたりのリクエスト数)サーバーの同時処理能力を定量的に表したもので、reqs...

MySQL で単一のフィールド内の複数の値を分割および結合する方法

複数の値を組み合わせて表示これで、図1から図2に示す要件が揃いました。 どうやってやるんですか?次の...

Vue v-for ループを書く 7 つの方法

目次1. v-forループでは常にキーを使用する2. 特定のスコープ内でv-forループを使用する3...

nginxで複数のサーバーを簡単に構成する方法

1: nginx のインストール方法については詳しく説明しません。Baidu で検索してください。 ...

CSSは、入力ボックスのフローティングテキスト効果を実現するために、placeholder-shown疑似クラスを使用します。

この記事では、:placeholder-shown 疑似クラスを使用して、純粋な CSS で浮動疑問...

MYSQL フルバックアップ、マスタースレーブレプリケーション、カスケードレプリケーション、および半同期の概要

MySQL フルバックアップ1. バイナリログを有効にし、データベースから分離して別々に保存する v...

ページにスクロールバーが表示されたときに、スクロールバーがページ幅に影響しないようにする方法

本体の幅をウィンドウの幅に設定します(次のスクリプトで制御されます) $("body&qu...