舒尔特表(Schulte Grid)通过动态的练习锻炼视神经末梢。心理学上用此表来研究和发展心理感知的速度,其中包括视觉定向搜索运动的速度。 用来培养注意力集中、分配、控制能力;拓展视幅;加快视频;提高视觉的稳定性、辨别力、定向搜索能力。练习的时间越长,看表所需的时间会越短。随着练习的深入,眼球的末梢视觉能力提高,不仅初学者可以有效地拓展视幅,加快阅读节奏,锻炼眼睛快速认读;而且对于进入提高阶段之后,同时拓展纵横视幅,达到一目十行、一目一页非常有效。 具体实现


<!DOCTYPE html>
<html>
<head>
    <title>舒尔特表格</title>
    <style>
        #numTable {
            margin: 0 auto;
            border-collapse: collapse;
            width: 250px;
            height: 250px;
            text-align: center;
        }

        #numTable td, #numTable th {
            border: 1px solid black;
            padding: 5px;
        }

        /* 倒计时样式 */
        #countDown {
            text-align: center;
            margin-bottom: 20px;
        }

        #cd {
            font-size: 24px;
            color: red;
        }

        /* 按钮样式 */
        #btn-container {
            text-align: center;
        }

        #btn-container button {
            margin: 50px 10px;
            font-size: 20px;
            padding: 10px 20px;
        }

        #startBtn {
            background: #ffea00;
        }

        #ruleBtn {
            background: #e7ffc4;
        }
    </style>
</head>
<body>

<div id="countDown">
    <span id="cd">15</span>
</div>
<table id="numTable"></table>

<div id="btn-container">
    <button id="startBtn">开始</button>
    <button id="ruleBtn">游戏规则</button>
</div>

<script>
    // 获取按钮
    const numTable = document.getElementById("numTable");
    const startBtn = document.getElementById("startBtn");
    const ruleBtn = document.getElementById('ruleBtn');
    let timer;

    function generateTable() {
        numTable.innerHTML = "";

        // 生成1-25数组
        let arr = [];
        for (let i = 1; i <= 25; i++) {
            arr.push(i);
        }
        // 随机打乱数组顺序
        shuffle(arr);

        // 填入表格
        for (let i = 0; i < 5; i++) {
            let row = numTable.insertRow();
            for (let j = 0; j < 5; j++) {
                let cell = row.insertCell();
                cell.innerText = arr.pop();
            }
        }

        // 启动新计时器
        startTimer();
    }

    // 洗牌算法
    function shuffle(arr) {
        for (let i = arr.length - 1; i > 0; i--) {
            let j = Math.floor(Math.random() * (i + 1));
            [arr[i], arr[j]] = [arr[j], arr[i]];
        }
    }

    function startTimer() {
        let time = 15;
        timer = setInterval(() => {
            time--;
            document.getElementById("cd").innerHTML = time;

            if (time === 0) {
                clearInterval(timer);
                alert("时间到,游戏结束!");
            }
        }, 1000);
    }

    // 点击事件
    startBtn.addEventListener("click", () => {
        // 清除存在的计时器
        if (timer) {
            clearInterval(timer);
            timer = null;
        }

        // 生成新表格
        generateTable();
    });

    ruleBtn.addEventListener('click', () => {
        alert('游戏规则:\n在15秒钟内按顺序找出1-25');
    });
</script>

</body>
</html>