入声字学习edit icon

Fork(复制)
下载
嵌入
BUG反馈
index.html
现在支持上传本地图片了!
index.html
            
            <!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>入声字查询与学习系统</title>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
    <style>
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-family: 'Microsoft YaHei', 'STKaiti', serif;
        }
        
        body {
            background: linear-gradient(135deg, #2c3e50, #1a2a3a);
            color: #f0f0f0;
            min-height: 100vh;
            padding: 20px;
            display: flex;
            flex-direction: column;
            align-items: center;
        }
        
        .container {
            max-width: 1200px;
            width: 100%;
            background: rgba(10, 20, 30, 0.85);
            border-radius: 20px;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.6);
            padding: 30px;
            margin-top: 20px;
            position: relative;
            overflow: hidden;
        }
        
        .header {
            text-align: center;
            margin-bottom: 30px;
            position: relative;
            z-index: 2;
        }
        
        .header h1 {
            font-size: 3rem;
            text-shadow: 0 0 15px rgba(100, 200, 255, 0.7);
            margin-bottom: 15px;
            letter-spacing: 3px;
            background: linear-gradient(to right, #4facfe, #00f2fe);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            font-weight: bold;
        }
        
        .header p {
            font-size: 1.3rem;
            opacity: 0.9;
            max-width: 800px;
            margin: 0 auto;
            line-height: 1.6;
        }
        
        .tabs {
            display: flex;
            background: rgba(30, 50, 70, 0.7);
            border-radius: 12px;
            margin-bottom: 30px;
            overflow: hidden;
        }
        
        .tab-btn {
            flex: 1;
            padding: 18px 0;
            font-size: 1.3rem;
            font-weight: bold;
            background: transparent;
            border: none;
            color: #a0c8f0;
            cursor: pointer;
            transition: all 0.3s ease;
            border-bottom: 3px solid transparent;
        }
        
        .tab-btn.active {
            background: rgba(50, 100, 150, 0.6);
            color: #fff;
            border-bottom: 3px solid #4facfe;
        }
        
        .tab-btn:hover:not(.active) {
            background: rgba(40, 80, 120, 0.4);
            color: #fff;
        }
        
        .tab-content {
            display: none;
            animation: fadeIn 0.5s ease;
        }
        
        .tab-content.active {
            display: block;
        }
        
        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(10px); }
            to { opacity: 1; transform: translateY(0); }
        }
        
        .search-section {
            background: rgba(20, 40, 60, 0.7);
            border-radius: 15px;
            padding: 30px;
            margin-bottom: 30px;
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.4);
        }
        
        .search-box {
            display: flex;
            gap: 15px;
            margin-bottom: 25px;
        }
        
        .search-input {
            flex: 1;
            padding: 16px 20px;
            font-size: 1.2rem;
            border: 2px solid #4facfe;
            border-radius: 50px;
            background: rgba(10, 20, 30, 0.8);
            color: #fff;
            outline: none;
            transition: all 0.3s ease;
        }
        
        .search-input:focus {
            border-color: #00f2fe;
            box-shadow: 0 0 15px rgba(0, 242, 254, 0.4);
        }
        
        .search-btn {
            padding: 0 40px;
            font-size: 1.2rem;
            background: linear-gradient(to right, #4facfe, #00f2fe);
            border: none;
            border-radius: 50px;
            color: #fff;
            cursor: pointer;
            font-weight: bold;
            transition: all 0.3s ease;
        }
        
        .search-btn:hover {
            transform: translateY(-3px);
            box-shadow: 0 5px 15px rgba(0, 242, 254, 0.4);
        }
        
        .examples {
            display: flex;
            flex-wrap: wrap;
            gap: 15px;
            margin-top: 15px;
        }
        
        .example-btn {
            padding: 8px 20px;
            background: rgba(50, 100, 150, 0.5);
            border: 1px solid #4facfe;
            border-radius: 30px;
            color: #a0c8f0;
            cursor: pointer;
            transition: all 0.2s ease;
        }
        
        .example-btn:hover {
            background: rgba(79, 172, 254, 0.3);
            color: #fff;
        }
        
        .results-section {
            background: rgba(20, 40, 60, 0.7);
            border-radius: 15px;
            padding: 30px;
            margin-bottom: 30px;
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.4);
        }
        
        .results-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
            gap: 25px;
            margin-top: 20px;
        }
        
        .character-card {
            background: rgba(30, 60, 90, 0.8);
            border-radius: 15px;
            padding: 25px;
            text-align: center;
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
            transition: all 0.3s ease;
            border: 2px solid transparent;
        }
        
        .character-card:hover {
            transform: translateY(-5px);
            border-color: #4facfe;
            box-shadow: 0 8px 20px rgba(0, 0, 0, 0.5);
        }
        
        .character {
            font-size: 5rem;
            margin-bottom: 15px;
            color: #4facfe;
            text-shadow: 0 0 10px rgba(79, 172, 254, 0.6);
        }
        
        .character-info {
            font-size: 1.2rem;
            line-height: 1.8;
        }
        
        .character-info strong {
            color: #00f2fe;
        }
        
        .learning-section {
            background: rgba(20, 40, 60, 0.7);
            border-radius: 15px;
            padding: 30px;
            margin-bottom: 30px;
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.4);
        }
        
        .rules-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 25px;
            margin-top: 25px;
        }
        
        .rule-card {
            background: rgba(30, 60, 90, 0.8);
            border-radius: 15px;
            padding: 25px;
            border-left: 5px solid #4facfe;
        }
        
        .rule-card h3 {
            color: #4facfe;
            margin-bottom: 15px;
            font-size: 1.5rem;
            display: flex;
            align-items: center;
            gap: 10px;
        }
        
        .rule-card ul {
            padding-left: 25px;
        }
        
        .rule-card li {
            margin-bottom: 10px;
            line-height: 1.6;
        }
        
        .common-characters {
            display: flex;
            flex-wrap: wrap;
            gap: 15px;
            justify-content: center;
            margin-top: 30px;
        }
        
        .common-char {
            width: 70px;
            height: 70px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 2.5rem;
            background: rgba(30, 60, 90, 0.8);
            border-radius: 10px;
            color: #00f2fe;
            cursor: pointer;
            transition: all 0.3s ease;
            border: 2px solid transparent;
        }
        
        .common-char:hover {
            background: rgba(79, 172, 254, 0.3);
            transform: translateY(-5px);
            border-color: #4facfe;
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
        }
        
        .quiz-section {
            background: rgba(20, 40, 60, 0.7);
            border-radius: 15px;
            padding: 30px;
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.4);
        }
        
        .quiz-container {
            text-align: center;
            max-width: 600px;
            margin: 0 auto;
        }
        
        .quiz-character {
            font-size: 8rem;
            color: #4facfe;
            text-shadow: 0 0 15px rgba(79, 172, 254, 0.7);
            margin: 30px 0;
        }
        
        .quiz-question {
            font-size: 1.8rem;
            margin-bottom: 30px;
        }
        
        .quiz-options {
            display: flex;
            justify-content: center;
            gap: 30px;
            margin-bottom: 40px;
        }
        
        .quiz-option {
            padding: 15px 40px;
            font-size: 1.3rem;
            border: 2px solid #4facfe;
            border-radius: 50px;
            background: rgba(30, 60, 90, 0.8);
            color: #a0c8f0;
            cursor: pointer;
            transition: all 0.3s ease;
        }
        
        .quiz-option:hover {
            background: rgba(79, 172, 254, 0.3);
            color: #fff;
        }
        
        .quiz-result {
            font-size: 1.5rem;
            min-height: 60px;
            margin-top: 20px;
            padding: 20px;
            border-radius: 15px;
        }
        
        .correct {
            background: rgba(40, 180, 100, 0.2);
            color: #4afca0;
            border: 2px solid #4afca0;
        }
        
        .incorrect {
            background: rgba(180, 40, 60, 0.2);
            color: #ff6b6b;
            border: 2px solid #ff6b6b;
        }
        
        .decoration {
            position: absolute;
            opacity: 0.05;
            z-index: 1;
            font-size: 15rem;
            pointer-events: none;
        }
        
        .decoration-1 {
            top: 50px;
            right: 50px;
            transform: rotate(15deg);
        }
        
        .decoration-2 {
            bottom: 50px;
            left: 50px;
            transform: rotate(-10deg);
        }
        
        .decoration-3 {
            top: 40%;
            left: 10%;
            transform: rotate(5deg);
        }
        
        .footer {
            margin-top: 30px;
            text-align: center;
            color: #a0c8f0;
            font-size: 1.1rem;
            opacity: 0.8;
        }
        
        @media (max-width: 768px) {
            .header h1 {
                font-size: 2.2rem;
            }
            
            .tabs {
                flex-direction: column;
            }
            
            .quiz-options {
                flex-direction: column;
                gap: 15px;
            }
            
            .character {
                font-size: 4rem;
            }
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="decoration decoration-1">入</div>
        <div class="decoration decoration-2">声</div>
        <div class="decoration decoration-3">字</div>
        
        <div class="header">
            <h1><i class="fas fa-language"></i> 入声字查询与学习系统</h1>
            <p>探索古汉语中的入声字,了解其发音特点、历史演变及在现代汉语中的变化</p>
        </div>
        
        <div class="tabs">
            <button class="tab-btn active" data-tab="search"><i class="fas fa-search"></i> 入声字查询</button>
            <button class="tab-btn" data-tab="learn"><i class="fas fa-book"></i> 入声字学习</button>
            <button class="tab-btn" data-tab="quiz"><i class="fas fa-gamepad"></i> 入声字测验</button>
        </div>
        
        <!-- 查询标签页 -->
        <div class="tab-content active" id="search-tab">
            <div class="search-section">
                <h2><i class="fas fa-search"></i> 入声字查询</h2>
                <p>输入汉字查询是否为入声字及其详细信息</p>
                
                <div class="search-box">
                    <input type="text" class="search-input" id="searchInput" placeholder="输入汉字进行查询...">
                    <button class="search-btn" id="searchBtn">查询</button>
                </div>
                
                <p>常用入声字示例: 
                    <div class="examples">
                        <button class="example-btn" data-char="白">白</button>
                        <button class="example-btn" data-char="黑">黑</button>
                        <button class="example-btn" data-char="日">日</button>
                        <button class="example-btn" data-char="月">月</button>
                        <button class="example-btn" data-char="国">国</button>
                        <button class="example-btn" data-char="学">学</button>
                        <button class="example-btn" data-char="一">一</button>
                        <button class="example-btn" data-char="七">七</button>
                    </div>
                </p>
            </div>
            
            <div class="results-section">
                <h2><i class="fas fa-list"></i> 查询结果</h2>
                <div class="results-grid" id="resultsGrid">
                    <!-- 结果将通过JS动态生成 -->
                </div>
            </div>
        </div>
        
        <!-- 学习标签页 -->
        <div class="tab-content" id="learn-tab">
            <div class="learning-section">
                <h2><i class="fas fa-book"></i> 入声字学习</h2>
                <p>入声是古汉语四声(平、上、去、入)之一,发音特点是短促急收。在现代汉语普通话中,入声已经消失,但在一些方言中仍有保留。</p>
                
                <div class="rules-grid">
                    <div class="rule-card">
                        <h3><i class="fas fa-volume-up"></i> 入声特点</h3>
                        <ul>
                            <li>发音短促,有塞音韵尾(-p, -t, -k)</li>
                            <li>在诗词中属于仄声,对诗词格律很重要</li>
                            <li>现代普通话中,入声字已归入其他四声</li>
                            <li>在粤语、闽南语等方言中保留较好</li>
                        </ul>
                    </div>
                    
                    <div class="rule-card">
                        <h3><i class="fas fa-history"></i> 历史演变</h3>
                        <ul>
                            <li>中古汉语时期(隋唐)形成完整四声系统</li>
                            <li>宋代以后,北方方言中入声开始消失</li>
                            <li>元代《中原音韵》中入声已并入其他声调</li>
                            <li>现代南方方言仍保留入声系统</li>
                        </ul>
                    </div>
                    
                    <div class="rule-card">
                        <h3><i class="fas fa-code"></i> 识别方法</h3>
                        <ul>
                            <li>普通话中读阳平(二声)的鼻韵母字多为入声字</li>
                            <li>声母为b、d、g、j、zh、z的阳平字多为入声字</li>
                            <li>韵母为uo的阳平字多为入声字</li>
                            <li>韵母为ie、üe的字多为入声字</li>
                        </ul>
                    </div>
                </div>
                
                <h3 style="margin-top: 40px; text-align: center; color: #4facfe;">
                    <i class="fas fa-star"></i> 常见入声字
                </h3>
                <div class="common-characters">
                    <div class="common-char" data-char="一">一</div>
                    <div class="common-char" data-char="七">七</div>
                    <div class="common-char" data-char="八">八</div>
                    <div class="common-char" data-char="十">十</div>
                    <div class="common-char" data-char="白">白</div>
                    <div class="common-char" data-char="黑">黑</div>
                    <div class="common-char" data-char="日">日</div>
                    <div class="common-char" data-char="月">月</div>
                    <div class="common-char" data-char="国">国</div>
                    <div class="common-char" data-char="学">学</div>
                    <div class="common-char" data-char="石">石</div>
                    <div class="common-char" data-char="竹">竹</div>
                    <div class="common-char" data-char="出">出</div>
                    <div class="common-char" data-char="入">入</div>
                    <div class="common-char" data-char="急">急</div>
                </div>
            </div>
        </div>
        
        <!-- 测验标签页 -->
        <div class="tab-content" id="quiz-tab">
            <div class="quiz-section">
                <h2><i class="fas fa-gamepad"></i> 入声字测验</h2>
                <p>测试你对入声字的了解,判断下列汉字是否为入声字</p>
                
                <div class="quiz-container">
                    <div class="quiz-character" id="quizChar">学</div>
                    <div class="quiz-question">这个汉字是入声字吗?</div>
                    
                    <div class="quiz-options">
                        <div class="quiz-option" id="optionYes">是</div>
                        <div class="quiz-option" id="optionNo">否</div>
                    </div>
                    
                    <div class="quiz-result" id="quizResult">
                        请选择你的答案
                    </div>
                    
                    <button class="search-btn" id="nextQuestion" style="margin-top: 20px;">
                        <i class="fas fa-arrow-right"></i> 下一题
                    </button>
                </div>
            </div>
        </div>
        
        <div class="footer">
            <p>© 2023 入声字查询与学习系统 | 古汉语研究工具</p>
        </div>
    </div>

    <script>
        // 入声字数据库
        const enteringToneChars = {
            '一': {
                pinyin: 'yī',
                category: '质韵',
                modern: '阴平',
                description: '数字一,古为入声字,普通话中读阴平',
                examples: '一心、唯一、一切',
                isEntering: true
            },
            '七': {
                pinyin: 'qī',
                category: '质韵',
                modern: '阴平',
                description: '数字七,古为入声字,普通话中读阴平',
                examples: '七月、七夕、七律',
                isEntering: true
            },
            '八': {
                pinyin: 'bā',
                category: '黠韵',
                modern: '阴平',
                description: '数字八,古为入声字,普通话中读阴平',
                examples: '八月、八方、八仙',
                isEntering: true
            },
            '十': {
                pinyin: 'shí',
                category: '缉韵',
                modern: '阳平',
                description: '数字十,古为入声字,普通话中读阳平',
                examples: '十分、十全、十方',
                isEntering: true
            },
            '白': {
                pinyin: 'bái',
                category: '陌韵',
                modern: '阳平',
                description: '颜色白,古为入声字,普通话中读阳平',
                examples: '白色、白云、明白',
                isEntering: true
            },
            '黑': {
                pinyin: 'hēi',
                category: '职韵',
                modern: '阴平',
                description: '颜色黑,古为入声字,普通话中读阴平',
                examples: '黑色、黑暗、黑白',
                isEntering: true
            },
            '日': {
                pinyin: 'rì',
                category: '质韵',
                modern: '去声',
                description: '太阳,古为入声字,普通话中读去声',
                examples: '日光、日期、日本',
                isEntering: true
            },
            '月': {
                pinyin: 'yuè',
                category: '月韵',
                modern: '去声',
                description: '月亮,古为入声字,普通话中读去声',
                examples: '月光、月亮、月球',
                isEntering: true
            },
            '国': {
                pinyin: 'guó',
                category: '德韵',
                modern: '阳平',
                description: '国家,古为入声字,普通话中读阳平',
                examples: '国家、国际、中国',
                isEntering: true
            },
            '学': {
                pinyin: 'xué',
                category: '觉韵',
                modern: '阳平',
                description: '学习,古为入声字,普通话中读阳平',
                examples: '学习、学生、学校',
                isEntering: true
            },
            '石': {
                pinyin: 'shí',
                category: '昔韵',
                modern: '阳平',
                description: '石头,古为入声字,普通话中读阳平',
                examples: '石头、石油、宝石',
                isEntering: true
            },
            '竹': {
                pinyin: 'zhú',
                category: '屋韵',
                modern: '阳平',
                description: '竹子,古为入声字,普通话中读阳平',
                examples: '竹子、竹林、竹简',
                isEntering: true
            },
            '出': {
                pinyin: 'chū',
                category: '术韵',
                modern: '阴平',
                description: '出去,古为入声字,普通话中读阴平',
                examples: '出现、出发、出入',
                isEntering: true
            },
            '入': {
                pinyin: 'rù',
                category: '缉韵',
                modern: '去声',
                description: '进入,古为入声字,普通话中读去声',
                examples: '进入、入口、出入',
                isEntering: true
            },
            '急': {
                pinyin: 'jí',
                category: '缉韵',
                modern: '阳平',
                description: '着急,古为入声字,普通话中读阳平',
                examples: '急忙、急促、着急',
                isEntering: true
            },
            '天': {
                pinyin: 'tiān',
                category: '先韵',
                modern: '阴平',
                description: '天空,古为平声字,普通话中读阴平',
                examples: '天空、天气、春天',
                isEntering: false
            },
            '山': {
                pinyin: 'shān',
                category: '山韵',
                modern: '阴平',
                description: '山峰,古为平声字,普通话中读阴平',
                examples: '山峰、山水、江山',
                isEntering: false
            },
            '水': {
                pinyin: 'shuǐ',
                category: '旨韵',
                modern: '上声',
                description: '水流,古为上声字,普通话中读上声',
                examples: '水流、水面、山水',
                isEntering: false
            },
            '风': {
                pinyin: 'fēng',
                category: '东韵',
                modern: '阴平',
                description: '刮风,古为平声字,普通话中读阴平',
                examples: '风景、风格、春风',
                isEntering: false
            }
        };

        // DOM元素
        const tabBtns = document.querySelectorAll('.tab-btn');
        const tabContents = document.querySelectorAll('.tab-content');
        const searchInput = document.getElementById('searchInput');
        const searchBtn = document.getElementById('searchBtn');
        const resultsGrid = document.getElementById('resultsGrid');
        const exampleBtns = document.querySelectorAll('.example-btn');
        const commonChars = document.querySelectorAll('.common-char');
        const quizChar = document.getElementById('quizChar');
        const optionYes = document.getElementById('optionYes');
        const optionNo = document.getElementById('optionNo');
        const quizResult = document.getElementById('quizResult');
        const nextQuestionBtn = document.getElementById('nextQuestion');
        
        // 当前测验题目
        let currentQuizChar = '';
        let correctAnswer = false;
        
        // 标签切换功能
        tabBtns.forEach(btn => {
            btn.addEventListener('click', () => {
                const tabId = btn.getAttribute('data-tab');
                
                // 更新按钮状态
                tabBtns.forEach(b => b.classList.remove('active'));
                btn.classList.add('active');
                
                // 更新内容区
                tabContents.forEach(content => {
                    content.classList.remove('active');
                    if (content.id === `${tabId}-tab`) {
                        content.classList.add('active');
                    }
                });
                
                // 如果是测验标签,生成新题目
                if (tabId === 'quiz') {
                    generateQuizQuestion();
                }
            });
        });
        
        // 搜索功能
        function searchCharacters(query) {
            resultsGrid.innerHTML = '';
            
            if (!query) {
                resultsGrid.innerHTML = '<p style="text-align: center; grid-column: 1/-1; font-size: 1.3rem; color: #a0c8f0;">请输入要查询的汉字</p>';
                return;
            }
            
            // 单个字符查询
            if (query.length === 1) {
                const charData = enteringToneChars[query];
                if (charData) {
                    renderCharacterCard(query, charData);
                } else {
                    resultsGrid.innerHTML = `
                        <div style="text-align: center; grid-column: 1/-1; padding: 40px;">
                            <h3 style="color: #ff6b6b; margin-bottom: 20px;">未找到相关信息</h3>
                            <p>汉字 "${query}" 未收录在数据库中,可能不是常见入声字。</p>
                        </div>
                    `;
                }
                return;
            }
            
            // 多字符查询
            let found = false;
            for (let i = 0; i < query.length; i++) {
                const char = query[i];
                const charData = enteringToneChars[char];
                if (charData) {
                    renderCharacterCard(char, charData);
                    found = true;
                }
            }
            
            if (!found) {
                resultsGrid.innerHTML = `
                    <div style="text-align: center; grid-column: 1/-1; padding: 40px;">
                        <h3 style="color: #ff6b6b; margin-bottom: 20px;">未找到相关信息</h3>
                        <p>输入的汉字中未找到入声字信息。</p>
                    </div>
                `;
            }
        }
        
        // 渲染字符卡片
        function renderCharacterCard(char, data) {
            const card = document.createElement('div');
            card.className = 'character-card';
            
            card.innerHTML = `
                <div class="character">${char}</div>
                <div class="character-info">
                    <p><strong>拼音:</strong>${data.pinyin}</p>
                    <p><strong>中古韵部:</strong>${data.category}</p>
                    <p><strong>现代声调:</strong>${data.modern}</p>
                    <p><strong>入声字:</strong>${data.isEntering ? '是' : '否'}</p>
                    <p><strong>例词:</strong>${data.examples}</p>
                    <p><strong>说明:</strong>${data.description}</p>
                </div>
            `;
            
            resultsGrid.appendChild(card);
        }
        
        // 搜索按钮事件
        searchBtn.addEventListener('click', () => {
            const query = searchInput.value.trim();
            searchCharacters(query);
        });
        
        // 回车键搜索
        searchInput.addEventListener('keypress', (e) => {
            if (e.key === 'Enter') {
                const query = searchInput.value.trim();
                searchCharacters(query);
            }
        });
        
        // 示例按钮事件
        exampleBtns.forEach(btn => {
            btn.addEventListener('click', () => {
                const char = btn.getAttribute('data-char');
                searchInput.value = char;
                searchCharacters(char);
            });
        });
        
        // 常用字符事件
        commonChars.forEach(char => {
            char.addEventListener('click', () => {
                const charValue = char.getAttribute('data-char');
                // 切换到查询标签
                tabBtns.forEach(b => b.classList.remove('active'));
                document.querySelector('[data-tab="search"]').classList.add('active');
                
                tabContents.forEach(content => {
                    content.classList.remove('active');
                    if (content.id === 'search-tab') {
                        content.classList.add('active');
                    }
                });
                
                // 执行查询
                searchInput.value = charValue;
                searchCharacters(charValue);
            });
        });
        
        // 生成测验题目
        function generateQuizQuestion() {
            // 获取所有字符
            const chars = Object.keys(enteringToneChars);
            // 随机选择一个字符
            const randomChar = chars[Math.floor(Math.random() * chars.length)];
            currentQuizChar = randomChar;
            correctAnswer = enteringToneChars[randomChar].isEntering;
            
            quizChar.textContent = randomChar;
            quizResult.textContent = '请选择你的答案';
            quizResult.className = 'quiz-result';
        }
        
        // 测验选项事件
        optionYes.addEventListener('click', () => checkAnswer(true));
        optionNo.addEventListener('click', () => checkAnswer(false));
        
        // 检查答案
        function checkAnswer(userAnswer) {
            if (userAnswer === correctAnswer) {
                quizResult.textContent = `正确!"${currentQuizChar}" ${correctAnswer ? '是' : '不是'}入声字`;
                quizResult.className = 'quiz-result correct';
            } else {
                quizResult.textContent = `错误。"${currentQuizChar}" ${correctAnswer ? '是' : '不是'}入声字`;
                quizResult.className = 'quiz-result incorrect';
            }
        }
        
        // 下一题按钮
        nextQuestionBtn.addEventListener('click', generateQuizQuestion);
        
        // 初始化页面
        window.onload = () => {
            // 初始显示一些入声字
            searchCharacters('一七日');
        };
    </script>
</body>
</html>
        
编辑器加载中
预览
控制台