JSは星を消すケースを実現する

JSは星を消すケースを実現する

この記事の例では、星を消すためのJSの具体的なコードを参考までに共有しています。具体的な内容は次のとおりです。

星を破壊することによる影響:

機能要件:

1. 星をクリックすると消えます。
2. 毎秒自動的に星を生成する
3. 星の大きさと位置はランダムです

ケースコードと分析:

HTML および CSS コード:

 * {
        マージン: 0;
        パディング: 0;
        ボックスのサイズ: 境界線ボックス;
    }
 
    div {
        位置: 相対的;
        幅: 1000ピクセル;
        高さ: 500px;
        マージン: 100px 自動;
        背景色: 黒;
    }
</スタイル>
 
<本文>
    <div>
 
    </div>
  • 本文ではランダムに生成された星を保持するためのdivのみが必要です
  • divボックスには位置が必要です(星のランダムな位置は位置の左と上の値に基づきます)

JSコード:

var div = document.querySelector('div');//divボックスを取得する function creatImg(num) {
            for (var i = 0; i < num; i++) { // 星をランダムに生成します var imgs = document.createElement('img'); // img タグを作成します imgs.style.position = 'absolute'; // 星の画像に絶対位置を追加します var width = Math.floor(Math.random() * (50 - 10 + 1) + 10);
                var height = width; // 幅と高さをランダムに生成します。星の幅と高さは一定です。 var top = Math.floor(Math.random() * (450 - 0 + 1) + 0);
                var left = Math.floor(Math.random() * (950 - 0 + 1) + 0);
 
                //星の幅、高さ、左、上の値をランダムに生成されたものに変更します。imgs.style.width = width + 'px';
                imgs.style.height = 高さ + 'px';
                imgs.style.left = 左 + 'px';
                imgs.style.top = top + 'px';
 
                //星の画像へのリンクをimgタグに追加します。imgs.src = 'images/xingxing.gif';
            
                // 作成した img タグを div ボックスに追加します div.appendChild(imgs);
            }
        }

注意: width や left などの単位を持つプロパティを変更する場合は、必ず単位を追加してください。

creatImg(5); //関数を呼び出して5つの星を生成します setInterval(function () { //1秒ごとにコードを実行します var img = document.querySelectorAll('img'); //星の画像を取得します //各星にクリックイベントを追加します for (var i = 0; i < img.length; i++) {
                img[i].addEventListener('click', 関数() {
                    //クリック後にクリックした画像を削除する
                    div.removeChild(これ);
                })
            }
            画像を作成します(1);
        }, 1000);

写真を取得すると、divボックス内の星の写真がすべて取得され、1つだけ取得されるわけではありません。

取得された写真は疑似配列の形で存在するため、それらを走査することでクリック イベントを 1 つずつバインドできます。

ケースで使用した JS 知識ポイント: (色が付いているものがケースで使用されます)

ノード操作

ノードの作成

ドキュメント.createElement()
ドキュメント.createTextNode()
ドキュメント.createTextNode()

ノードを追加

node.appendCild(child) (要素の追加)
node.insertBefore (新しい子要素、挿入する位置要素)

ノードを削除

node.removeChild(child) 親要素内の子ノードを削除します

スタイル属性の操作

要素スタイル

1.element.style.backgroundColor = '赤';
2. JSのスタイルではキャメルケースの命名法が使用される
3. JSはスタイル操作を変更し、インラインスタイルを生成するため、CSSの重みが比較的高くなります。

要素.クラス名

1. 多様なスタイルや複雑な機能を持つ状況に適用可能
2. classNameは要素のクラス名を直接変更し、元のクラス名を上書きします。
3. 複数のクラス名セレクターを使用できる

タイマー

window.setTimeout(call function, [遅延するミリ秒数]);

1. setTimeout()の呼び出し関数をコールバック関数として呼び出します。
2. ウィンドウは省略可能
3. この呼び出し関数は、関数または関数名を直接記述するか、文字列「文字名」を受け取ることができます。
4. 省略した場合、遅延のデフォルト値はミリ秒単位で 0 になります。単位はミリ秒である必要があります。
5. タイマーは複数存在する場合があり、タイマーには識別子が割り当てられることが多い
6.一度だけ実行する

window.setInterval (関数呼び出し、[遅延するミリ秒数]);

1. setTimeout()の呼び出し関数をコールバック関数として呼び出します。
2. ウィンドウは省略可能
3. この呼び出し関数は、関数または関数名を直接記述するか、文字列「文字名」を受け取ることができます。
4. 省略した場合、遅延のデフォルト値はミリ秒単位で 0 になります。単位はミリ秒である必要があります。
5. タイマーは複数存在する場合があり、タイマーには識別子が割り当てられることが多い
6.繰り返し

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

以下もご興味があるかもしれません:
  • 星を消すための js (Web 簡易版)
  • 星消しゲームの簡易版を実現するJavaScript
  • JSは星を破壊するゲームを実現する

<<:  デザイン理論:テキスト表現とユーザビリティ

>>:  HTMLにおける絶対パスと相対パスの違いの分析

推薦する

Vue要素ヘッダーにスラッシュを追加するための実装コード

<テンプレート> <div class="アプリコンテナ"&...

Mysqlデータテーブルでワームレプリケーションを使用する方法

簡単に言えば、MySQL ワーム レプリケーションは、クエリされたデータを指定されたデータ テーブル...

display または visibility を通じて HTML 要素を表示または非表示にする

場合によっては、特定の条件に基づいて Web ページ内の HTML 要素を表示するか非表示にするかを...

CocosCreator最適化DrawCallの詳細な説明

目次序文ドローコールとはDrawCall はパフォーマンスにどのような影響を与えますか?ドローコール...

TypeScript の関数

目次1. 関数の定義1.1 JavaScript の関数1.2 TypeScriptの関数2. オプ...

Tomcat を再デプロイした後にイメージやその他のリソースが自動的に削除される問題を解決します

昨日は写真をアップロードしてリンクを返す機能を実装していました。プロジェクトが Tomcat に再デ...

JSON.stringify を使用する際に発生する循環参照の問題を解決する方法の詳細な説明

プログラマーが日常的に TypeScript/JavaScript 開発を行う場合、複雑な Java...

Tomcat 7.0 で仮想ディレクトリを設定し、仮想パスを構成する方法

Tomcat7.0は仮想ディレクトリを設定します(1)現在、当社のウェブサイトはデフォルトのディレク...

Dockerfileを使用して独自のイメージを作成する方法

1. 空のディレクトリを作成する $ cd /home/xm6f/dev $ mkdir myapp...

Vue で円形プログレスバーを実装する例

データ表示は、常にあらゆる職業の人々が求めているものです。特にフロントエンド開発業界では、データを表...

Web ページは何ピクセルで設計すればよいでしょうか?

多くのウェブデザイナーは、ウェブページのレイアウトを設計する際に、インターフェースウェブページの幅に...

MySQL 5.7.20 Green Edition のインストールの詳細なグラフィックチュートリアル

まず、MySQL とは何かを理解しましょう。 MySQL は、スウェーデンの会社 MySQL AB ...

Cronジョブを使用してCpanelでPHPを定期的に実行する方法

cpanel 管理バックエンドを開き、「詳細」オプションの下に「Clock Guardian Job...

Windows10にmysql5.7.18をインストールするチュートリアル

このチュートリアルでは、MySQL 5.7.18のインストールと設定方法を参考までに紹介します。具体...

新しい ECMAscript オブジェクト機能の紹介

目次1. オブジェクトのプロパティ1.1 属性表記2. プロパティ名を計算する3.オブジェクトメソッ...