抽選効果を実現する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共有ディレクトリをマウントする実装

推薦する

JTAを実装するためにAtomikosと組み合わせたTomcatについて

最近、プロジェクトは環境を切り替え、WebLogic を Tomcat に置き換えました。途中で発生...

要素複数フォーム検証の実装

プロジェクトでは、フォーム テストが頻繁に発生します。単一のフォーム テストについては、詳細な紹介が...

HTML ハイパーリンク タグ_Powernode Java アカデミー

HTML を学習したり使用したりしたことがある人なら、<a> タグについてよく知っている...

Centos7.9 で独立したメール サーバーを構築するための詳細な手順

目次序文1. イントラネットDNS AレコードとMXレコードを構成する2. メールサーバの初期化設定...

Ubuntuの基本設定: openssh-serverのインストールと使用

Ubuntu 17.10 での openssh-server のインストールと使用を記録します。イン...

Vue + 要素を使用して背景データをオプションに動的に表示する

必要:ハードコードされたデータの代わりに、セレクター内のオプション値の動的な表示を実装します。私のロ...

VS2022 リモート デバッグ ツールの使い方

WeChat 関連サービスをデバッグする場合など、職場のサーバー環境でリモートデバッグを行う必要があ...

mysql binlog (バイナリログ) を表示する方法

たとえば、新しいテーブルを作成したり、既存のテーブルのデータを更新したりすると、これらのイベントは、...

フォーム要素の簡単な実装コードでは登録を例に挙げています

コード実装:コードをコピーコードは次のとおりです。 <!DOCTYPE html> &l...

MySQL レプリケーションの詳細な説明と簡単な例

MySQL レプリケーションの詳細な説明と簡単な例マスタースレーブレプリケーション技術は、MySQL...

JavaScriptは入力ボックスコンポーネントを実装します

この記事では、入力ボックスコンポーネントを手動で実装するための具体的なコードを参考までに紹介します。...

HTML テーブルの行間隔を変更する方法の例

HTML テーブルを使用する場合、行間隔を変更する必要がある場合がありますが、余白、パディング、折り...

Vue nextTickの原理の分析

目次イベントループmiscroTask (マイクロタスク) UI レンダリング (重要なポイント)次...

SQL ROW_NUMBER() および OVER() メソッドのケーススタディ

構文フォーマット: row_number() over(partition by grouping ...

Vue で動的に読み込まれたローカル画像を処理する方法

問題を見つける今日は、vue ファイルにローカル画像を導入する際に問題が発生したので、この記事を書き...