jianzhihuixiang/alacarte-novel-website/chapters/chapter-19.html
小虾米 f8894dd3f3 fix: 修复上一章/下一章导航对小数章节(如107.5)的支持
- updateNavButtons: 改用数组索引查找,而非简单的+1/-1
- updateSidebarHighlight: 使用parseFloat比较章节ID
- updateMobileTOCHighlight: 使用parseFloat比较章节ID
- 更新版本号强制刷新缓存
2026-03-27 17:42:41 +08:00

626 lines
29 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!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="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;600;700&family=Noto+Sans+SC:wght@300;400;500;700&display=swap" rel="stylesheet">
<style>
:root {
--bg-primary: linear-gradient(135deg, #0f0c29 0%, #302b63 50%, #24243e 100%);
--text-primary: #e0e0e0;
--text-secondary: #888;
--accent-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
--border-color: rgba(255,255,255,0.1);
--btn-bg: rgba(255,255,255,0.1);
--btn-hover: rgba(255,255,255,0.2);
}
[data-theme="light"] {
--bg-primary: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
--text-primary: #333;
--text-secondary: #666;
--border-color: rgba(0,0,0,0.1);
--btn-bg: rgba(0,0,0,0.05);
--btn-hover: rgba(0,0,0,0.1);
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Noto Serif SC', serif;
background: var(--bg-primary);
color: var(--text-primary);
line-height: 1.8;
min-height: 100vh;
transition: all 0.3s ease;
}
.container {
max-width: 800px;
margin: 0 auto;
padding: 20px;
padding-bottom: 120px;
}
/* 顶部导航 */
.top-nav {
position: fixed;
top: 0;
left: 0;
right: 0;
background: rgba(0,0,0,0.3);
backdrop-filter: blur(10px);
border-bottom: 1px solid var(--border-color);
z-index: 1000;
padding: 10px 20px;
}
.top-nav-content {
max-width: 800px;
margin: 0 auto;
display: flex;
justify-content: space-between;
align-items: center;
}
.nav-link {
color: var(--text-primary);
text-decoration: none;
font-family: 'Noto Sans SC', sans-serif;
font-size: 14px;
padding: 8px 16px;
background: var(--btn-bg);
border: 1px solid var(--border-color);
border-radius: 8px;
transition: all 0.3s ease;
}
.nav-link:hover {
background: var(--btn-hover);
}
.chapter-header {
text-align: center;
padding: 80px 0 40px;
border-bottom: 1px solid var(--border-color);
margin-bottom: 40px;
}
.chapter-number {
font-size: 14px;
color: var(--text-secondary);
letter-spacing: 4px;
text-transform: uppercase;
margin-bottom: 10px;
}
.chapter-title {
font-size: 32px;
font-weight: 700;
background: var(--accent-gradient);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
margin-bottom: 20px;
}
.chapter-meta {
font-size: 14px;
color: var(--text-secondary);
}
.chapter-content {
font-size: 18px;
line-height: 2;
text-align: justify;
}
.chapter-content p {
margin-bottom: 1.5em;
text-indent: 2em;
}
.chapter-content p:first-of-type::first-letter {
font-size: 3em;
float: left;
line-height: 1;
margin-right: 8px;
margin-top: -5px;
background: var(--accent-gradient);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
font-weight: 700;
}
/* 固定底部导航 */
.fixed-nav {
position: fixed;
bottom: 0;
left: 0;
right: 0;
background: rgba(0,0,0,0.3);
backdrop-filter: blur(10px);
border-top: 1px solid var(--border-color);
z-index: 1000;
padding: 15px 20px;
}
.fixed-nav-content {
max-width: 800px;
margin: 0 auto;
display: flex;
justify-content: space-between;
align-items: center;
}
.nav-btn {
padding: 12px 24px;
background: var(--btn-bg);
border: 1px solid var(--border-color);
border-radius: 8px;
color: var(--text-primary);
text-decoration: none;
transition: all 0.3s ease;
font-family: 'Noto Sans SC', sans-serif;
font-size: 14px;
cursor: pointer;
}
.nav-btn:hover {
background: var(--btn-hover);
transform: translateY(-2px);
}
.nav-btn.disabled {
opacity: 0.3;
cursor: not-allowed;
pointer-events: none;
}
/* 右侧滚动按钮 */
.scroll-buttons {
position: fixed;
right: 20px;
bottom: 90px;
display: flex;
flex-direction: column;
gap: 10px;
z-index: 1001;
}
.scroll-btn {
width: 40px;
height: 40px;
border-radius: 8px;
background: var(--btn-bg);
border: 1px solid var(--border-color);
color: var(--text-primary);
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
font-size: 16px;
transition: all 0.3s ease;
font-family: 'Noto Sans SC', sans-serif;
}
.scroll-btn:hover {
background: var(--btn-hover);
}
/* 侧边栏 - 标题固定,内容滚动 */
.sidebar {
position: fixed;
right: 20px;
top: 50%;
transform: translateY(-50%);
background: rgba(0,0,0,0.5);
backdrop-filter: blur(10px);
border-radius: 12px;
border: 1px solid var(--border-color);
width: 200px;
max-height: 70vh;
z-index: 999;
display: flex;
flex-direction: column;
}
.sidebar-title {
font-size: 14px;
color: var(--text-secondary);
text-transform: uppercase;
letter-spacing: 2px;
padding: 15px 20px;
border-bottom: 1px solid var(--border-color);
flex-shrink: 0;
}
.sidebar-content {
overflow-y: auto;
padding: 10px 20px 20px;
flex: 1;
scrollbar-width: thin;
scrollbar-color: transparent transparent;
transition: scrollbar-color 0.3s ease;
}
.sidebar-content:hover {
scrollbar-color: rgba(255,255,255,0.3) transparent;
}
.sidebar-content::-webkit-scrollbar {
width: 6px;
}
.sidebar-content::-webkit-scrollbar-track {
background: transparent;
}
.sidebar-content::-webkit-scrollbar-thumb {
background: transparent;
border-radius: 3px;
transition: background 0.3s ease;
}
.sidebar-content:hover::-webkit-scrollbar-thumb {
background: rgba(255,255,255,0.3);
}
.sidebar-content:hover::-webkit-scrollbar-thumb:hover {
background: rgba(255,255,255,0.5);
}
[data-theme="light"] .sidebar-content:hover {
scrollbar-color: rgba(0,0,0,0.3) transparent;
}
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb {
background: rgba(0,0,0,0.3);
}
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb:hover {
background: rgba(0,0,0,0.5);
}
.sidebar-chapter {
display: block;
padding: 8px 0;
color: #aaa;
text-decoration: none;
font-size: 13px;
border-bottom: 1px solid rgba(255,255,255,0.05);
transition: all 0.3s ease;
line-height: 1.5;
}
.sidebar-chapter:hover {
color: #667eea;
}
.sidebar-chapter.current {
color: #667eea;
font-weight: 600;
}
@media (max-width: 1200px) {
.sidebar {
display: none;
}
}
@media (max-width: 600px) {
.chapter-title {
font-size: 24px;
}
.chapter-content {
font-size: 16px;
}
.fixed-nav-content {
gap: 10px;
}
.nav-btn {
padding: 10px 15px;
font-size: 12px;
}
.scroll-buttons {
right: 10px;
bottom: 80px;
}
.scroll-btn {
width: 36px;
height: 36px;
}
}
/* 滚动条样式 */
.sidebar::-webkit-scrollbar {
width: 4px;
}
.sidebar::-webkit-scrollbar-track {
background: transparent;
}
.sidebar::-webkit-scrollbar-thumb {
background: rgba(255,255,255,0.2);
border-radius: 2px;
}
</style>
</head>
<body>
<!-- 顶部导航 -->
<nav class="top-nav">
<div class="top-nav-content">
<a href="../index.html" class="nav-link">返回首页</a>
<button class="nav-link" id="themeToggle">切换主题</button>
</div>
</nav>
<div class="container">
<header class="chapter-header">
<div class="chapter-number">Chapter 19</div>
<h1 class="chapter-title">天帷巨兽·神殿外围</h1>
</header>
<article class="chapter-content">
<p>天空之城重新开放后,林克和赛丽亚在赫顿玛尔休整了几天。</p>
<p>晨曦恢复了三成光芒,虽然还不如巅峰时期,但已经能够正常使用光属性攻击。这对于即将面临的新挑战来说,无疑是个好消息。</p>
<p>"接下来去哪?"赛丽亚一边整理装备一边问道。</p>
<p>林克看着窗外的天空:"我听说天帷巨兽出现了异常。"</p>
<p>"天帷巨兽?"</p>
<p>"一只巨大的飞行生物,背上建满了古代神殿。"林克解释道,"它一直在阿拉德大陆上空游荡,但最近……有人看到它在西海岸附近徘徊。"</p>
<p>"而且,"他的表情变得严肃,"有传言说上面发生了某种'异变'。"</p>
<p>就在这时,旅馆的门被猛地推开。</p>
<p>一个年轻的女孩跌跌撞撞地冲了进来,她的衣服破烂不堪,脸上带着惊恐的表情。</p>
<p>"求求你们……"女孩抓住林克的手臂,"请帮帮我……帮帮GBL教……"</p>
<p>说完,她就晕了过去。</p>
<p>---</p>
<p>女孩名叫奥菲利亚是GBL教的信徒。</p>
<p>GBL教——"Grand Blue Lore",意为"伟大的蓝色知识"——是一个崇拜知识的宗教组织。他们的总部建在天帷巨兽的背上,收集和研究着来自世界各地的知识。</p>
<p>"几天前的晚上,"奥菲利亚坐在旅馆的椅子上,捧着热茶的手还在颤抖,"一切都变了。"</p>
<p>"发生了什么?"林克问道。</p>
<p>"教主……教主他突然发狂了。"奥菲利亚的眼中闪过恐惧,"他声称听到了'神'的声音,然后……然后所有的信徒都跟着发狂了。"</p>
<p>"他们开始互相攻击,破坏神殿,甚至……"她咬紧嘴唇,"甚至献祭活人。"</p>
<p>赛丽亚倒吸一口冷气:"献祭?"</p>
<p>"我不知道那是什么力量,"奥菲利亚摇头,"但它控制了整个GBL教。我是唯一逃出来的人。"</p>
<p>她看向林克,眼中充满恳求:"求你……求你阻止这一切。如果再这样下去,天帷巨兽会坠落到阿拉德大陆的!"</p>
<p>林克和赛丽亚对视一眼。</p>
<p>"那个控制他们的'神'"林克沉声问道,"你知道是什么吗?"</p>
<p>奥菲利亚摇摇头:"不知道。但我听到教主说过……'使徒'这个词。"</p>
<p>使徒。</p>
<p>林克想起了悬空城建造者的话——光之核心原本就是为了对抗使徒而创造的。</p>
<p>"看来,我们得去一趟天帷巨兽了。"</p>
<p>---</p>
<p>通过西海岸的传送阵,林克和赛丽亚来到了天帷巨兽的背部。</p>
<p>眼前的景象让他们震惊。</p>
<p>天帷巨兽的背上建满了宏伟的神殿和图书馆,但现在已经变成了废墟。到处都是破碎的石柱和倒塌的书架,曾经宁静的圣地现在弥漫着血腥和疯狂的气息。</p>
<p>"这就是……GBL教总部"赛丽亚难以置信地看着眼前的惨状。</p>
<p>"曾经是。"奥菲利亚的声音低沉,"现在只是一座死城。"</p>
<p>他们小心翼翼地前进。</p>
<p>神殿外围原本应该是GBL教的接待区和初级图书馆但现在这里到处游荡着发狂的信徒。</p>
<p>那些信徒穿着GBL教的蓝白色长袍但长袍上沾满了血迹和污渍。他们的眼睛呈现不正常的红色口中喃喃自语着听不懂的话。</p>
<p>"他们被控制了。"林克握紧晨曦,"而且程度很深。"</p>
<p>一个信徒发现了他们,发出野兽般的嘶吼,然后冲了过来。</p>
<p>林克迎上去。</p>
<p>"破极兵刃!"</p>
<p>晨曦的剑身被一层淡淡的红光包裹,攻击力大幅提升。</p>
<p>发狂的信徒挥舞着匕首刺来,但动作毫无章法。林克侧身躲过,同时发动了新学会的技能。</p>
<p>"流心·刺!"</p>
<p>进入流心姿态后,林克的身形变得飘忽不定。他以极快的速度突进,晨曦如同一道闪电刺入信徒的肩膀。</p>
<p>那个信徒发出痛苦的嚎叫,但并没有倒下,反而更加疯狂地攻击。</p>
<p>"普通的攻击……无法让他们恢复理智?"</p>
<p>---</p>
<p>更多的发狂信徒从四面八方涌来。</p>
<p>林克意识到不能留手,这些信徒已经被某种力量彻底侵蚀,普通的击晕无法阻止他们。</p>
<p>"流心·跃!"</p>
<p>他高高跃起,在空中翻转的同时斩出一道剑气。光属性攻击对发狂的信徒有着特殊的效果——被光芒照射到的信徒发出凄厉的惨叫,眼中的红光稍微暗淡了一些。</p>
<p>"光属性有效!"林克心中一喜。</p>
<p>虽然晨曦只恢复了三成力量,但光属性攻击对这些被黑暗侵蚀的敌人依然有着克制作用。</p>
<p>"赛丽亚,用光魔法支援我!"</p>
<p>"明白!"</p>
<p>赛丽亚举起法杖,一道道光之箭射向发狂的信徒。被光芒照射到的信徒纷纷倒地,虽然没有死亡,但都陷入了昏迷。</p>
<p>林克趁机突进,"破军升龙击!"</p>
<p>巨剑破军带着一往无前的气势上挑,将面前的几个信徒全部击飞。</p>
<p>然后,在敌人浮空的瞬间,他切换回晨曦。</p>
<p>"流心·升!"</p>
<p>上挑连击!晨曦在空中划出一道完美的弧线,将被击飞的信徒全部斩落。</p>
<p>战斗结束后,周围暂时安静下来。</p>
<p>奥菲利亚震惊地看着林克:"你……你是什么人?那种剑术……"</p>
<p>"只是一个冒险家而已。"林克收起晨曦,"走吧,我们得找到那个'使徒'。"</p>
<p>---</p>
<p>随着深入神殿外围,周围的环境变得越来越诡异。</p>
<p>墙壁上开始出现奇怪的触手图案,空气中弥漫着一种潮湿的、令人作呕的气息。更奇怪的是,赛丽亚开始感到不适。</p>
<p>"林克……"她的脸色苍白,"我感觉到……某种东西……在试图进入我的意识……"</p>
<p>林克立即挡在她身前:"是精神控制!那个使徒在试图控制你!"</p>
<p>"我……我会没事的……"赛丽亚咬紧牙关,精灵之力在她体内运转,抵抗着外来的精神入侵。</p>
<p>奥菲利亚惊恐地看着这一幕:"这就是……控制GBL教的力量它连精灵都能影响"</p>
<p>"精灵的精神力比人类更强,"林克沉声说,"如果连赛丽亚都感到吃力,那个使徒的精神控制能力……远超我们的想象。"</p>
<p>他们继续前进,终于来到了神殿外围的尽头。</p>
<p>那里是一个巨大的广场广场中央有一座祭坛。祭坛周围聚集着数百个发狂的GBL教信徒他们正在进行某种可怕的仪式。</p>
<p>而在祭坛之上,一个身穿紫色长袍的肥胖身影正挥舞着权杖,指挥着这一切。</p>
<p>"更多的祭品……更多!"那人的声音尖锐而疯狂,"罗特斯大人需要更多力量!"</p>
<p>"那是……大祭司维加!"奥菲利亚惊呼,"他是GBL教地位仅次于教主的人"</p>
<p>林克握紧晨曦:"必须阻止他!"</p>
<p>---</p>
<p>战斗开始。</p>
<p>维加的实力远超那些普通信徒。他虽然身形肥胖,但动作却异常敏捷。更重要的是,他能够操控周围的信徒,让他们成为自己的盾牌。</p>
<p>"杀了他们!"维加大喊,"用他们的血献给罗特斯大人!"</p>
<p>数十个发狂的信徒朝林克涌来。</p>
<p>"麻烦……"林克咬牙,"必须先解决那些信徒!"</p>
<p>"我来帮你!"赛丽亚举起法杖,一道道光之箭射向信徒群,"你去对付大祭司!"</p>
<p>林克点头,发动流心姿态,身形如同鬼魅般穿过人群,朝维加冲去。</p>
<p>"流心·刺!"</p>
<p>晨曦刺向维加的胸口,但维加挥舞权杖,一道精神屏障挡住了攻击。</p>
<p>"愚蠢!"维加狞笑,"你以为能伤到我?"</p>
<p>他的权杖爆发出黑色的光芒,一股强大的精神冲击朝林克袭来。</p>
<p>林克感到一阵剧烈的头痛,动作不由得慢了下来。</p>
<p>"不好!"</p>
<p>维加的权杖已经砸了下来。林克勉强举剑格挡,巨大的冲击力让他连连后退。</p>
<p>"这种力量……比黑暗玄廊的驱逐者还要难缠!"</p>
<p>林克深吸一口气,强迫自己集中精神。</p>
<p>"破极兵刃!"</p>
<p>BUFF开启晨曦的光芒变得更加明亮。</p>
<p>"里·鬼剑术!"</p>
<p>二连斩击!光剑的高速连击配合光属性攻击,终于对维加的精神屏障造成了实质性的伤害。</p>
<p>维加发出愤怒的嚎叫:"光……我讨厌光!"</p>
<p>"就是现在!"</p>
<p>"破军升龙击!"</p>
<p>巨剑破军上挑,将维加击飞。然后,在空中的瞬间——</p>
<p>"流心·跃!接·升!"</p>
<p>连续的技能衔接!流心的姿态切换配合里·鬼剑术的斩击,形成了完美的空中连击。</p>
<p>维加的身体重重摔在地上,身上的使徒气息开始消散。</p>
<p>"不……不可能……"他喃喃自语,"罗特斯大人……会为我报仇的……"</p>
<p>然后,他眼中的黑色褪去,恢复了人类的神采。</p>
<p>"我……我做了什么……"维加虚弱地问道,泪水从他肥胖的脸上滑落。</p>
<p>"你没事了。"林克收起晨曦,"一切都结束了。"</p>
<p>---</p>
<p>随着维加被击败,周围的发狂信徒纷纷倒地,眼中的红光逐渐消退。</p>
<p>维加虽然恢复了理智,但他对发生的事情记忆犹新——正是他亲手策划了这场献祭仪式。</p>
<p>"我有罪……"他跪在地上,浑身颤抖,"我被罗特斯控制了……但我……我还是杀了那么多人……"</p>
<p>奥菲利亚别过脸,不愿看他。</p>
<p>"那个声音……来自天帷巨兽的最深处。"维加艰难地说,"第二脊椎……罗特斯就在那里……控制着我们所有人……"</p>
<p>"第二脊椎?"奥菲利亚惊呼,"那是天帷巨兽最危险的区域,从来没有人从那里活着回来!"</p>
<p>"使徒……"林克低声说,"这就是我们要找的东西。"</p>
<p>他看向赛丽亚:"你还好吗?"</p>
<p>赛丽亚点点头,虽然脸色还有些苍白:"我没事。但那个精神控制……真的很可怕。如果不是我的精灵之力,恐怕已经被控制了。"</p>
<p>林克握紧晨曦:"我们必须小心。这个使徒……比我们遇到的任何敌人都要危险。"</p>
<p>就在这时,整个天帷巨兽突然剧烈震动。</p>
<p>一个低沉、古老、充满威严的声音在所有人脑海中响起:</p>
<p>"有趣的……凡人……"</p>
<p>"竟然能抵抗……我的精神控制……"</p>
<p>"来吧……到第二脊椎来……"</p>
<p>"让我看看……你们能坚持多久……"</p>
<p>声音消失了,但那种压迫感依然留在每个人心中。</p>
<p>林克和赛丽亚对视一眼,都看到了对方眼中的凝重。</p>
<p>这个使徒……罗特斯……正在等着他们。</p>
<p>天帷巨兽篇的冒险,才刚刚开始。</p>
<p>---</p>
<p>(第十八章完)</p>
</article>
</div>
<!-- 固定底部导航 -->
<nav class="fixed-nav">
<div class="fixed-nav-content">
<a href="chapter-18.html" class="nav-btn ">上一章</a>
<a href="../chapters.html" class="nav-btn">目录</a>
<a href="chapter-20.html" class="nav-btn ">下一章</a>
</div>
</nav>
<!-- 右侧滚动按钮 -->
<div class="scroll-buttons">
<button class="scroll-btn" id="scrollTop" title="回到顶部"></button>
<button class="scroll-btn" id="scrollBottom" title="回到底部"></button>
</div>
<!-- 侧边栏章节导航 -->
<aside class="sidebar">
<div class="sidebar-title">章节导航</div>
<div class="sidebar-content" id="sidebarContent">
<a href="chapter-1.html" class="sidebar-chapter">第1章洛兰的风</a>
<a href="chapter-2.html" class="sidebar-chapter">第2章洛兰深处</a>
<a href="chapter-3.html" class="sidebar-chapter">第3章幽暗密林</a>
<a href="chapter-4.html" class="sidebar-chapter">第4章幽暗密林深处</a>
<a href="chapter-5.html" class="sidebar-chapter">第5章雷鸣废墟</a>
<a href="chapter-6.html" class="sidebar-chapter">第6章格拉卡</a>
<a href="chapter-7.html" class="sidebar-chapter">第7章烈焰格拉卡</a>
<a href="chapter-8.html" class="sidebar-chapter">第8章冰霜幽暗密林</a>
<a href="chapter-9.html" class="sidebar-chapter">第9章转职之路</a>
<a href="chapter-10.html" class="sidebar-chapter">第10章暗黑雷鸣废墟</a>
<a href="chapter-11.html" class="sidebar-chapter">第11章剑魂转职仪式</a>
<a href="chapter-12.html" class="sidebar-chapter">第12章西海岸</a>
<a href="chapter-13.html" class="sidebar-chapter">第13章龙人之塔</a>
<a href="chapter-14.html" class="sidebar-chapter">第14章人偶玄关</a>
<a href="chapter-15.html" class="sidebar-chapter">第15章石巨人塔</a>
<a href="chapter-16.html" class="sidebar-chapter">第16章黑暗玄廊</a>
<a href="chapter-17.html" class="sidebar-chapter">第17章城主宫殿</a>
<a href="chapter-18.html" class="sidebar-chapter">第18章番外·悬空城</a>
<a href="chapter-19.html" class="sidebar-chapter current">第19章天帷巨兽·神殿外围</a>
<a href="chapter-20.html" class="sidebar-chapter">第20章树精丛林</a>
<a href="chapter-21.html" class="sidebar-chapter">第21章炼狱</a>
<a href="chapter-22.html" class="sidebar-chapter">第22章西海岸的闲暇</a>
<a href="chapter-23.html" class="sidebar-chapter">第23章极昼</a>
<a href="chapter-24.html" class="sidebar-chapter">第24章第一脊椎</a>
<a href="chapter-25.html" class="sidebar-chapter">第25章赫顿玛尔的准备</a>
<a href="chapter-26.html" class="sidebar-chapter">第26章第二脊椎</a>
<a href="chapter-27.html" class="sidebar-chapter">第27章重逢的温柔</a>
<a href="chapter-28.html" class="sidebar-chapter">第28章暗精灵的委托</a>
<a href="chapter-29.html" class="sidebar-chapter">第29章阿法利亚营地</a>
<a href="chapter-30.html" class="sidebar-chapter">第30章浅栖之地</a>
<a href="chapter-31.html" class="sidebar-chapter">第31章蜘蛛洞穴</a>
<a href="chapter-32.html" class="sidebar-chapter">第32章克伦特的委托</a>
<a href="chapter-33.html" class="sidebar-chapter">第33章暗精灵墓地·左翼守卫</a>
<a href="chapter-34.html" class="sidebar-chapter">第34章暗精灵墓地·剩余三将军</a>
</div>
</aside>
<script>
// 记录阅读进度
let readChapters = JSON.parse(localStorage.getItem('readChapters') || '[]');
if (!readChapters.includes(19)) {
readChapters.push(19);
localStorage.setItem('readChapters', JSON.stringify(readChapters));
}
// 主题切换
const themeToggle = document.getElementById('themeToggle');
const savedTheme = localStorage.getItem('theme') || 'dark';
document.documentElement.setAttribute('data-theme', savedTheme);
themeToggle.textContent = savedTheme === 'dark' ? '浅色' : '深色';
themeToggle.addEventListener('click', () => {
const currentTheme = document.documentElement.getAttribute('data-theme');
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
document.documentElement.setAttribute('data-theme', newTheme);
localStorage.setItem('theme', newTheme);
themeToggle.textContent = newTheme === 'dark' ? '浅色' : '深色';
});
// 滚动到顶部
document.getElementById('scrollTop').addEventListener('click', () => {
window.scrollTo({ top: 0, behavior: 'smooth' });
});
// 滚动到底部
document.getElementById('scrollBottom').addEventListener('click', () => {
window.scrollTo({ top: document.body.scrollHeight, behavior: 'smooth' });
});
// 页面加载时,侧边栏自动滚动到当前章节
window.addEventListener('load', () => {
const sidebarContent = document.getElementById('sidebarContent');
const currentChapter = sidebarContent.querySelector('.current');
if (currentChapter) {
currentChapter.scrollIntoView({ behavior: 'smooth', block: 'center' });
}
});
</script>
</body>
</html>