JS を使用した簡単な雪効果の例の詳細な説明

JS を使用した簡単な雪効果の例の詳細な説明

序文

南の友達の多くは、雪をほとんど見たことがない、あるいは見たことがないかもしれません。今日は、雪景色をシミュレートする小さなデモを紹介します。まず、ランニングエフェクトを見てみましょう。

クリックするとオンラインで実行されているのを見ることができます http://haiyong.site/xiaxue

まず、プロジェクト構造、スノーフレーク画像、.htmlファイル、jquery-1.4.2.jsを見てみましょう。

使用した雪の結晶の画像をここに掲載しましたが、私のウェブサイトにアップロードした画像アドレスを直接使用することもできます:http://haiyong.site/wp-content/uploads/2021/12/snow.png。画像から始めて、コンテンツは完全に JS に依存します。

主な実装コード

HTMLコード

ここにHTMLのコンテンツがあります。

<!DOCTYPE html>
<html>
	<ヘッド>
		<メタ文字セット="utf-8">
		<title>海が抱擁する🌊 | 雪が一粒ずつ降る</title>
		<meta name="viewport" content="width=デバイス幅、ユーザースケーラブル=いいえ">
		<meta name="keywords" content="雪の結晶" />
		<meta name="description" content="ツール | 雪を一つずつ。100 個の小さなゲームを備えた Web サイトを作成することを決意。Haiyong によって作成、テクニカル サポート - Haiyong" /> 
		<meta name="author" content="海拥(http://haiyong.site/moyu)" />
		<meta name="copyright" content="海拥(http://haiyong.site/moyu)" />
		<link rel="icon" href="http://haiyong.site/wp-content/uploads/2021/07/cropped-59255587-1-192x192.jpg" rel="external nofollow" sizes="192x192" />
		<スタイル タイプ="text/css">
			体{
				背景色: #000000;
				margin: 0;/* 組み込みのマージンを削除します*/
			}
			画像{
				位置: 絶対;
			}
		</スタイル>
	</head>
	<本文>
		<script src="js/jquery-1.4.2.js" type="text/javascript" charset="utf-8"></script>		
	</本文>
</html>

JSコード

まず、タイマーをオンにして、雪の結晶の画像を追加します。ここで、<img src='images/snow.png'>を<img src='http://haiyong.site/wp-content/uploads/2021/12/snow.png'>に変更できます。

setInterval(関数(){
var img = $("<img src='images/snow.png'>");
$("body").append(画像);

ここでは、雪片のサイズは10〜20pxに設定されています。次の式は、(0〜10 + 10)pxを表します。

var size = parseInt(Math.random()*11)+10;
img.css("幅",サイズ+"px");

画面の幅を取得する

var w = $(window).width();

値の範囲は0-画面幅-スノーフレーク幅です

var left =parseInt(Math.random()*(w-size));

得られたランダムな1eftを画像に与えます

img.css("左",左+"px");

雪片の動きのアニメーションを追加し、雪片の移動距離 = 画面の高さ - 雪片のサイズを取得します。

var top = $(window).height()-size;

以下のコメントのコードはキャッシュをクリアするために使用され、追加してもしなくてもかまいません。

img.animate({"top":top+"px"},size*100)
/* .fadeOut(1000,function(){
	//アニメーションが完了したらこのコードを実行してキャッシュをクリアします img.remove();
	//console.log($("img").length);
}); */
},10)

これをコメント解除すると、以下に示すように、降り積もる雪が消えます。

雪の積もりを見たい場合はコメントアウトすると、プレビュー効果は次のようになります。

この時点で、私たちが達成したい効果は完成しています。実行時間が長すぎると、メモリ使用量が過剰になり、遅延が発生する可能性があります。HTMLコードの最後のコメントの内容をコメント解除すると、下の雪が徐々に消えて消えていきます。ただし、雪もとても美しいと思うので、このように溶けないようにしました。

JS で実装されたシンプルな雪のエフェクトの例の詳細な説明に関するこの記事はこれで終わりです。より関連性の高い JS シンプルな雪のエフェクトのコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • JavaScript で雪の効果を実装するサンプルコード
  • js 特殊効果、ページ上の雪の小さな例
  • JavaScript でよく使われる 3 つの Web エフェクトの詳細な説明
  • 画像マーキー効果を実現するネイティブJS
  • ブラインドの特殊効果を実現するネイティブJS
  • 本をめくる効果を実現するネイティブJS

<<:  CSS3+HTML5+JSでブロックの縮小・拡大アニメーション効果を実現

>>:  フロントエンド開発者のための HTML 入門

推薦する

Vueのフィルターについて知っておくべきこと

目次序文フィルターとは何かフィルターの使い方グローバルフィルターローカルフィルターフィルターは直列に...

アイデアコンパイラvueインデントエラー問題シナリオの分析

プロジェクトシナリオ: Vueプロジェクトを実行したらインデントエラーが出ました。ideaコンパイラ...

formData 形式タイプを使用してファイルをアップロードする Vue の例

Vue では、一般的にフロントエンドとバックエンドを分離したプロジェクトがあり、データ操作を実装する...

よくある CSS のヒントと経験談 11 選

1. 画像の下にある数ピクセルの空白を削除するにはどうすればよいですか?コードをコピーコードは次のと...

Tomcat は、Springboot プロジェクトの WAR パッケージの起動時にエラーを報告します: 子の起動時にエラーが発生しました

今日、会社の Springboot プロジェクトは、テストのためにテスト サーバーにデプロイする準備...

あなたのウェブサイトはIE8に適していますか?

オリンピック期間中にIE8ベータ2がリリースされ、英語版のリリースに合わせて中国語版も第一波でリリー...

Linux で ss コマンドと zabbix を組み合わせてソケットを監視する方法の詳細な説明

目次序文1. ssコマンド2. Zabbix監視マシンの全体的なソケットステータス2.1. スクリプ...

MySQLで偽または真を保存する方法

MySQL ブール値、偽または真を格納つまり、データベースに保存されるブール値は 0 と 1 であり...

Vueページの初回読み込み最適化の全プロセス

目次序文1. 画像の最適化2. .mapファイルの生成を無効にする3. ルーティングの遅延読み込み4...

Docker Compose のインストールと使用手順

目次1. Docker Compose とは何ですか? 2. Docker Composeのインスト...

MySQL 5.x の文字化け問題の解決方法

MySQL はよく使われるオープンソースのデータベース ソフトウェアですが、初めてのユーザーにはあま...

ボタンの権限判定を実装するためのVueカスタムv-has命令

アプリケーションシナリオバックグラウンド管理システムを例にとると、各ユーザーには異なるボタン権限があ...

MySQL フラッシュリストとダーティページフラッシュメカニズム

1. レビューMySQL の起動後にバッファ プールが初期化されます。バッファ プールは N 個の空...

jsプロキシの原理の詳細な説明

目次プロキシモードとは何ですか?実例を紹介例を使ってプロキシモデルの定義を理解するプロキシとはget...

LinuxテキストエディタVimの詳しい説明

Vim は強力なフルスクリーン テキスト エディターであり、Linux/UNIX で最も一般的に使用...