<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> /* 新增樣式,可以根據需要進行調整 */ body { font-family: Arial, sans-serif; /* 設定字型 */ background-color: #f0f0f0; /* 設定背景顏色 */ color: #333; /* 設定文字顏色 */ display: flex; flex-direction: column; /* Set to column to stack elements vertically */ justify-content: center; align-items: center; height: 100vh; margin: 0; } .chapter-list { margin-bottom: 20px; /* 設定章節列表的外邊距 */ } .chapter-link { display: block; /* 將章節連結顯示為塊元素,方便點選 */ margin-bottom: 5px; /* 設定章節連結之間的間距 */ } </style> </head> <body> <!-- 顯示書籍標題 --> <h1>{{ book_title1 }}</h1> <!-- 遍歷字典中的章節名和內容,並顯示在頁面上 --> <div class="chapter-list"> {% for chapter_name, content in book2.items() %} <div class="chapter-link" id="chapter{{ loop.index }}" style="display: {% if loop.index == 1 %}block{% else %}none{% endif %}; overflow-y: scroll; max-height: 400px;"> <h3>{{ chapter_name }}</h3> <p>{{ content }}</p> </div> {% endfor %} </div> <div class="Readpage pagedown"> <!-- 上一章按鈕 --> <button onclick="prevChapter()">上一章</button> <!-- 更換背景顏色按鈕 --> <button onclick="changeBgColor()">更換背景顏色</button> <!-- 目錄按鈕 --> <button onclick="mulu()">目錄</button> <!-- 更換字型按鈕 --> <button onclick="changeFont()">更換字型</button> <!-- 下一章按鈕 --> <button onclick="nextChapter()">下一章</button> </div> <script> // JavaScript 程式碼段 var currentChapter = 1; // 當前章節 function nextChapter() { var currentChapterDiv = document.getElementById('chapter' + currentChapter); currentChapterDiv.style.display = 'none'; // 隱藏當前章節內容 currentChapter++; // 更新當前章節 var nextChapterDiv = document.getElementById('chapter' + currentChapter); if (nextChapterDiv) { nextChapterDiv.style.display = 'block'; // 顯示下一章節內容 } else { currentChapter--; // 如果已經到達最後一章,則恢復當前章節為最後一章 } } function prevChapter() { var currentChapterDiv = document.getElementById('chapter' + currentChapter); currentChapterDiv.style.display = 'none'; // 隱藏當前章節內容 currentChapter--; // 更新當前章節 var prevChapterDiv = document.getElementById('chapter' + currentChapter); if (prevChapterDiv) { prevChapterDiv.style.display = 'block'; // 顯示上一章節內容 } else { currentChapter++; // 如果已經到達第一章,則恢復當前章節為第一章 } } // 更換背景顏色功能 function changeBgColor() { var body = document.body; // 獲取<body>元素 var colors = ['#ffffff', '#000000', '#00ff00']; // 定義背景顏色陣列,分別是純白、純黑和純綠 var randomColor = colors[Math.floor(Math.random() * colors.length)]; // 隨機選擇一個顏色 body.style.backgroundColor = randomColor; // 設定背景顏色 } // 更換字型功能 function changeFont() { var body = document.body; // 獲取<body>元素 var fonts = ['宋體, SimSun', '楷體, KaiTi', '行書, STXingkai']; // 定義字型樣式陣列 var randomFont = fonts[Math.floor(Math.random() * fonts.length)]; // 隨機選擇一個字型樣式 body.style.fontFamily = randomFont; // 設定字型樣式 } function mulu() { var chapters = document.querySelectorAll('.chapter-link'); chapters.forEach(function (chapter) { chapter.style.display = 'block'; // 顯示所有章節名稱 chapter.querySelector('p').style.display = 'none'; // 隱藏章節內容 chapter.addEventListener('click', function () { var chapterIndex = parseInt(this.id.match(/\d+/)[0]); // 獲取點選的章節索引 showChapter(chapterIndex); // 呼叫顯示章節內容的函式 }); }); } function showChapter(chapterIndex) { var chapters = document.querySelectorAll('.chapter-link'); chapters.forEach(function (chapter) { var index = parseInt(chapter.id.match(/\d+/)[0]); if (index === chapterIndex) { chapter.style.display = 'block'; // 顯示當前章節名稱 chapter.querySelector('p').style.display = 'block'; // 顯示當前章節內容 } else { chapter.style.display = 'none'; // 隱藏其他章節 chapter.querySelector('p').style.display = 'none'; // 隱藏其他章節內容 } }); } </script> </body> </html>