抽選効果を実現するJavaScript

抽選効果を実現するJavaScript

この記事では、宝くじマシンの効果を実現するためのJavaScriptの具体的なコードを参考までに共有します。具体的な内容は次のとおりです。

この実装の効果は次のとおりです。

実装された機能は、中央の抽選ボタンがクリックされるたびに、抽選の結果としてボックスがランダムに選択されるというものです。

では、抽選機能はどのように実装するのでしょうか?

実はとても簡単です。まずはHTMLとCSSを使って全体の枠組みを作り、次にJSを使って真ん中のボタンのonclick関数にタイマーを設定+ボックスの背景色をランダムに変更します。 詳細については以下で説明します。

1. 全体の枠組みを設計する際に、各ボックスに境界線を設定する必要があります。このとき、境界線重なり、境界線が太くなることがわかります。解決策は、 margin-rightmargin-bottom負の値(境界線の値と同じ値)に設定することです。

2. js で抽選機能を設定するときに、選択を表すボックスのbackground-colorランダムに変更するタイマー Aを設定できます。特定の瞬間に抽選を一時停止するには、タイマー Bを設定し、特定の瞬間にタイマー A をオフにします。

3.ランダムな変更はどのように実現されるのでしょうか? まず、 document.getElementsByTagNameを呼び出してすべてのボックスを取得し、次にMath.random()*盒子的數目使用してボックスの下付き文字を取得し、その背景色を変更します。

明らかに、タイマー A はsetIntervalであり、タイマー B はsetTimeoutです。

また、A 内のボックスの背景色を変更する場合、最後に色を変更したボックスを元の色に戻すには、前回背景色を変更したボックスを記録しておく必要があります。

詳細については次のコードを参照してください。

<!DOCTYPE html>
<html lang="ja">
<ヘッド>
    <メタ文字セット="UTF-8">
    <meta http-equiv="X-UA-compatible" content="IE=edge">
    <meta name="viewport" content="width=デバイス幅、初期スケール=1.0">
    <title>ドキュメント</title>
    <スタイル>
        *{
            マージン:0;
            パディング: 0;
        }
        。容器{
            幅: 400ピクセル;
            高さ: 400px;
            マージン:50px 自動;
        }
        span,#main{
            表示: ブロック;
            幅: 100ピクセル;
            高さ: 100px;
            border:2px ピンク実線;
            フロート:左;
            左マージン:-2px;
            下マージン:-2px;
            テキスト配置: 中央;
            行の高さ: 100px;
            境界線の半径: 16px;
            ボックスの影: 2px 2px 3px rgba(226, 86, 109, 0.459);
        }
        #主要{
            背景色: rgba(243, 97, 126, 0.651);
            カーソル: ポインタ;
        }
    </スタイル>
</head>
<本文>
    <div class="コンテナ">
        <div>
            視覚化
            <span>グラフィックス</span>
            <span>オペレーティング システム</span>
        </div>
        <div>
            <span>レシ</span>
            <div id="main">抽選会</div>
            <span>白ウサギ</span>
        </div>
        <div>
            <span>レモネード</span>
            <span>ブラックコーヒー</span>
            <span>タロイモミルクティー</span>
        </div>
    </div>
    <スクリプト>
        main = document.getElementById("main"); とします。
        box = document.getElementsByTagName("span");
        var num = null;
        main.onclick=関数(){
            time = setInterval(() => { を設定します。
                if(num!==null){
                    ボックス[数値].style.backgroundColor="白";
                }
                num = parseInt (Math.random() * 8);
                ボックス[数値].style.backgroundColor="rgba(243, 97, 126, 0.651)";
                console.log(数値);
            }, 120);

            タイムアウトを設定する(() => {
                クリア間隔(tem)
            }, 3000);
        }
    </スクリプト>
</本文>
</html>

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

以下もご興味があるかもしれません:
  • jsとhtml5はモバイルスクラッチカード宝くじ効果を実現し、android / IOSとの完璧な互換性があります
  • js ルーレット宝くじ例の分析
  • ランダム抽選コード効果を実現するためのjs抽選
  • jquery.rotate.js は、オプションの抽選番号と当選内容を含むターンテーブルの抽選コードを実装します。
  • js シンプルな宝くじコード
  • jsは単純なランダム抽選メソッドを実装します
  • js で大きなターンテーブル宝くじゲームの例を実現
  • ネイティブJSで9マス抽選の効果を実現
  • JavaScript ランダム抽選プログラムコード
  • JSシミュレーション抽選シーケンス効果実装コード

<<:  CSSアニメーションに基づくSVGボタンのサンプルコード

>>:  DockerコンテナにNFS共有ディレクトリをマウントする実装

推薦する

MySQL 5.7.19 インストールディレクトリに my.ini ファイルを作成する方法

前回の記事では、MySQL 5.7.19 無償インストール版 (64 ビット) の設定方法についての...

Vue で SuperMap を使用する練習

目次序文関連資料Vue プロジェクトが 2 次元ハイパーグラフを導入ハイパーグラフ 2D ケース引用...

JavaScript で実装された 7 つのソート アルゴリズムの概要 (推奨!)

目次序文バブルソート基本アルゴリズム2 番目の書き方は、基本的なアルゴリズムに基づいて改良されていま...

MySQL実行計画を学ぶ

目次1. 実施計画の概要2. 実行計画の実践id:選択タイプ:テーブル:タイプ:可能なキー:鍵:キー...

JavaScript の矢印関数と通常の関数の違いの詳細な説明

この記事では、JavaScriptにおけるアロー関数と通常の関数の違いについて解説します。具体的な内...

CSS -webkit-box-orient: コンパイル後に垂直プロパティが失われる

1. 原因要件は 2 行を表示することであり、余分なテキストは 3 つのドットに置き換えられるため、...

MySQL 最適化: キャッシュ最適化 (続き)

MySQL 内部には至るところにキャッシュがあります。MySQL のソースコードを読むと、キャッシ...

JavaScript オブジェクトの組み込みオブジェクト、値型、参照型の説明

目次物体オブジェクト定義オブジェクトのメンバーを反復処理するJS組み込みオブジェクト数学オブジェクト...

CMD で MySQL データベースを操作するときに中国語の文字化けが発生する問題の解決方法

Baiduで検索しました。 。 chcp コマンドを使用して、cmd の文字エンコーディングを 65...

Nginx でバージョン番号を隠したり偽造したりする方法

1. デフォルトでアクセスするには、curl コマンドを使用します。 # curl -I http:...

Linux におけるシステム入出力管理の詳細な説明

システムの入力と出力の管理1. システムの入力と出力を理解するLinuxシステムでは、1は正しい出力...

HTML の左右レイアウトのサンプルコード

CS: ...コードをコピーコードは次のとおりです。 html,body{ margin:0px; ...

MySQL がテーブルを読み取れないエラー (MySQL 1018 エラー) の解決方法

1. エラーの再現MySQL データベースにはアクセスできますが、データベース テーブルを読み取るこ...

docker ポートを追加して dockerfile を取得する方法

DockerイメージからDockerfileを取得する docker 履歴 --format {{....

Vueはel-tree遅延読み込みを使用して、追加、削除、変更、クエリ機能を実装します。

Vue のツリー表示については、プロジェクトが使用されています: エフェクト ダイアグラムがツリー...