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

推薦する

Linux ファイアウォールを設定してポート 80 と 3306 を開く方法

ポート80も設定されています。まずファイアウォール設定ファイルを入力しますシェル># vim ...

ubuntu14.04 に jdk1.8 をインストールするチュートリアル

1. jdkダウンロードアドレスをダウンロードする我下載的是jdk-8u221-linux-x64....

HTML のブロックレベル要素と行レベル要素、特殊文字、ネスト規則

基本的な HTML Web ページ タグのネスト ルールを紹介する場合、最初に説明する必要があるのは...

ファイルをアップロードするときに enctype フィールドを使用する理由は何ですか?

FORM 要素の enctype 属性は、フォーム データがサーバーに送信されるときに使用されるエン...

フレックスレイアウトによるシームレスなスクロールのサンプルコード

この記事では、シームレスなスクロールを実現するためのフレックスレイアウトのサンプルコードを主に紹介し...

背景画像のみを180度回転させるCSS3実装例

1. 心の旅最近コックピットを書いていたときに、背景画像を単純に特定の角度に回転させるという問題につ...

Nginx ベースの Mencached キャッシュ構成の詳細な説明

導入Memcached は分散キャッシュ システムです。Memcached には認証とセキュリティ制...

vue+springbootでログイン認証コードを実現

この記事では、ログイン認証コードを実装するためのvue+springbootの具体的なコードを例とし...

Linux の操作とメンテナンスの基本的なスワップ パーティションと LVM 管理のチュートリアル

目次1. スワップパーティション SWAP 1.1 スワップファイルを作成する1.2 スワップパーテ...

MySQLカスケードレプリケーションの実装方法の例

いわゆるカスケード レプリケーションでは、マスター サーバーが 1 つのスレーブ サーバーにのみデー...

VueとFlask間の通信の実装

axiosをインストールして通信を実装するここでは、axios を使用して Vue フロントエンドと...

CSS で平均レイアウトを実現するためにネガティブ マージン テクノロジーを使用する方法

通常、IE ブラウザでの CSS の互換性の問題を解決するために、フロート レイアウトが使用されます...

Nginx で https をアップグレードする方法

購入証明書Alibaba CloudのCloud Shield証明書サービスから購入できます。証明書...

Vueは秒殺しのカウントダウンコンポーネントを実装する

この記事では、2番目のキルカウントダウンコンポーネントを実装するためのVueの具体的なコードを参考ま...

Vue を使用して Web ページのスクリーンショットを撮る方法をご存知ですか?

目次1. html2Canvasをインストールする2. 必要なVueコンポーネントを導入する3. ス...