Показать сообщение отдельно
  #2 (permalink)  
Старый 08.07.2023, 10:22
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

click fo table
Борис К,
<!DOCTYPE HTML>
<html>

<head>
    <meta charset="utf-8">
    <style>
        td,
        div.show {
            width: 100px;
            height: 100px;
        }

        div.show {
            transition: 1s;
            background-size: 200px;
            background-position: -50px;
        }

        [data-id="1"] {
            background-image: url(https://placehold.co/100x100/ffffff/3a3b3c?font=playfair-display&text=1);
        }

        [data-id="2"] {
            background-image: url(https://placehold.co/100x100/ffffff/3a3b3c?font=playfair-display&text=2);
        }

        [data-id="3"] {
            background-image: url(https://placehold.co/100x100/ffffff/3a3b3c?font=playfair-display&text=3);
        }

        [data-id="4"] {
            background-image: url(https://placehold.co/100x100/ffffff/3a3b3c?font=playfair-display&text=4);
        }

        [data-id="5"] {
            background-image: url(https://placehold.co/100x100/ffffff/3a3b3c?font=playfair-display&text=5);
        }

        [data-id="6"] {
            background-image: url(https://placehold.co/100x100/ffffff/3a3b3c?font=playfair-display&text=6);
        }
    </style>
    <script type="text/javascript">
        document.addEventListener("DOMContentLoaded", () => {
            const tab = document.querySelector('table');
            const cells = document.querySelectorAll('td');
            const len = cells.length;
            const img = document.querySelector('.show');
            let id = 0,
                i;

            function showImg() {
                do {
                i = Math.trunc(Math.random() * len);
                i = cells[i].dataset.id;
                } while (i == id);
                id = i;
                img.dataset.id = id;
            }

            tab.addEventListener('click', ({
                target
            }) => {
                if (target = target.closest('[data-id]')) {
                    const curid = +target.dataset.id;
                    let win = curid == id;
                    let txt = win ? 'OK!' : 'Wrong!';
                    alert(txt);
                    if (win) showImg();
                }
            });
            showImg();

        });
    </script>
</head>

<body>
    <div class="show"></div>
    <table>
        <tr>
            <td data-id="1"></td>
            <td data-id="2"></td>
            <td data-id="3"></td>
        </tr>
        <tr>
            <td data-id="4"></td>
            <td data-id="5"></td>
            <td data-id="6"></td>
        </tr>
    </table>
</body>

</html>

Последний раз редактировалось рони, 08.07.2023 в 10:44.
Ответить с цитированием