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における絶対パスと相対パスの違いの分析

推薦する

ウェブデザインにおけるポップアップウィンドウとフローティングレイヤーのデザイン

従来のソフトウェアから Web ウェアへの段階的な移行の傾向の中で、デザイン パターンとテクノロジは...

VMware ESXi CLI の一般的なコマンドを調べる

目次【共通コマンド】 [一般的な esxi コマンドの概要] [esxcli コマンドの調査] ES...

Docker Compose を使用して nginx のロード バランシングを実装する方法

Dockerネットワーク管理とコンテナIP設定に基づいてNginxロードバランシングを実装するすべて...

vue3.0 でカルーセル コンポーネントをカプセル化する手順

目次1: カプセル化の考え方2. 包装工程3: ドットインジケーター4: 左と右のインジケーター5:...

MySQL Server 8.0.13.0 インストールチュートリアル(画像とテキスト付き)

MySQL 6.1.3 をベースにした 8.0.13 をインストールします。 MySQL 8.0....

document.getElementBy系メソッドがオブジェクトを取得できない問題を解決する

getElementByIdはオブジェクトを取得できませんブラウザがドキュメントを解析するときにはシ...

CSS フォント、テキスト、リストのプロパティの詳細な紹介

1. フォントのプロパティcolorは、div{color:red;}のようにテキストの色を指定しま...

HTMLがHikvisionカメラのリアルタイム監視機能を実現

最近、同社は CCFA 関連のいくつかの作業を行う予定で、その 1 つはカメラのリアルタイム監視を再...

QQtabBar による CSS 命名仕様 BEM の詳細な紹介

QQtabBar の BEMまず、BEMとはどういう意味でしょうか? BEM は、ブロック、要素、修...

プロトタイプとプロトタイプチェーン プロトタイプとプロトタイプの詳細

目次1. プロトタイプ2. プロトタイプチェーン2.1 コンストラクタ2.2 電話をかける/申し込む...

Tomcatにデプロイされたアプリケーションがフロントエンドページにアクセスできない問題について

最近、実践的なトレーニング プロジェクトを実行する際に ssm フレームワークを使用しました。プロジ...

3 階層ナビゲーション メニューを実現するための js+css

この記事の例では、3レベルのナビゲーションメニューを実装するためのjs + cssの具体的なコードを...

Docker 経由で wsl の tar ファイルを作成する方法

最近VScodeのリモート開発機能をいじっています。Dockerのコンテナに接続できるほか、WSLに...

Linux での MySQL 5.7.19 (tar.gz) インストール グラフィック チュートリアル

Linux で MySQL-5.7.19 バージョンをインストールするための最初のチュートリアル。す...