RS08
@RS08

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

Bingoの表示がうまくいきません

プログラム

html

<!-- index.html -->
<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Bingoマシーン</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
    <div class="container">
        <div id="bingoNumber" onclick="generateRandomNumber()">Tap for Bingo!</div>

        <div id="numberList">選ばれた数字: </div>
    </div>

    <script src="script.js"></script>
</body>
</html>

CSS

/* style.css */
body {
    margin: 0;
    font-family: Arial, sans-serif;
    background-color: #f8f8f8;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100vh;
}

.container {
    text-align: center;
    background-color: #fff;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

#bingoNumber {
    font-size: 48px;
    padding: 20px;
    border: 2px solid #333;
    cursor: pointer;
    user-select: none;
    transition: transform 0.1s ease-in-out;
    margin-bottom: 20px;
}

#bingoNumber:hover {
    transform: scale(1.1);
}

#numberList {
    font-size: 18px;
    margin-top: 20px;
}

js

// script.js
let selectedNumbers = [];

function generateRandomNumber() {
    const bingoNumberElement = document.getElementById('bingoNumber');
    const numberListElement = document.getElementById('numberList');

    // タップごとにランダムな数字表示
    const minNumber = 1;
    const maxNumber = 100;

    // 未出の数字を抽選する
    let number;
    do {
        number = Math.floor(Math.random() * (maxNumber - minNumber + 1)) + minNumber;
    } while (selectedNumbers.includes(number));

    // ドキドキ感を演出するアニメーション
    bingoNumberElement.style.transform = 'scale(1.1)';
    setTimeout(() => {
        bingoNumberElement.style.transform = 'scale(1)';
    }, 100);

    // ビンゴマシンに表示
    bingoNumberElement.innerText = number;

    // 選ばれた数字をリストに追加
    selectedNumbers.push(number);

    // 選ばれた数字のリストを更新
    updateNumberList();
}

function updateNumberList() {
    const numberListElement = document.getElementById('numberList');
    numberListElement.innerHTML = '選ばれた数字: ' + selectedNumbers.join(', ');
}

ちなみに上の

const minNunber=1;
const maxNumber=100;

のところで数字設定できますが。

Tapしても数字が出てこない
という問題があります。
原因が分かる人はできれば教えてください。

0

2Answer

記載のソースをそのまま貼り付けてみましたが、問題なく動いてそうでした。
まず疑うところとして、script.jsは正しく読み込まれていますでしょうか?
開発者ツールなどを活用して、そのあたりから確認してみてください。

See the Pen Untitled by yotty (@yotty) on CodePen.

1Like

Comments

  1. @RS08

    Questioner

    回答ありがとうございます。
    以後、このようなことが内容気をつけます。

私もCodePenで試してみましたが「Tap for Bingo!」をクリックすることで数字が表示されました。
もしかすると古いバージョンのJavaScriptが読み込まれているのかもしれません。
ブラウザのキャッシュクリアを試していなのであれば、やってみてはいかがでしょうか。

1Like

Comments

  1. @RS08

    Questioner

    回答ありがとうございます。
    以後、このようなことが内容気をつけます。

  2. 解決したのでしょうか?であれば良かったです。
    振り返るとささいな問題なことはよくあることですが、何が原因でどのように解決したのかフィードバックしていただけるとありがたいです。

  3. @RS08

    Questioner

    僕がプログラムしたサイトと別のサイトで動かし実験したときに、実験したサイトのほうがverが古すぎて対応できなかったみたいです。返信が遅くなり申し訳ございませんでした。

  4. フィードバックいただきありがとうございます。
    なるほど複数の環境で試していたのですね。解決してよかったです。
    最後にQ&Aをクローズしていただけると助かります。

Your answer might help someone💌