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

646 lines
32 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 26</div>
<h1 class="chapter-title">第二脊椎</h1>
</header>
<article class="chapter-content">
<p>第二脊椎,天帷巨兽的最深处。</p>
<p>这里是使徒罗特斯的巢穴,也是天帷巨兽篇的最终战场。</p>
<p>林克、艾伦、奥菲利亚和维加四人站在通往BOSS房间的入口前。每个人的表情都无比凝重。</p>
<p>"前方……就是罗特斯的领域了。"奥菲利亚的声音微微颤抖,"我们要面对的,是第八使徒。"</p>
<p>"使徒……"艾伦握紧了手中的长剑,"在圣堂的典籍中,它们是仅次于神的恐怖存在。"</p>
<p>林克低头看了看手腕上的抗精神干扰手环。手环散发着微弱的光芒,仿佛在提醒他——这是他们能够抵抗精神控制的唯一依靠。</p>
<p>"晨曦。"林克轻声呼唤。</p>
<p>剑身回应着他的呼唤,散发出明亮的光芒。九成恢复的光芒,在这黑暗的空间中显得格外耀眼。</p>
<p>"准备好了吗?"林克看向队友们。</p>
<p>艾伦点头,圣光在他的剑身上流转:"以圣光之名,我必将铲除邪恶。"</p>
<p>奥菲利亚深吸一口气,握紧了手中的法杖:"为了GBL教为了所有被控制的同胞我一定要阻止罗特斯。"</p>
<p>维加默默地点头,手中的匕首闪烁着寒光。</p>
<p>"走吧。"林克迈出步伐,"结束这一切。"</p>
<p>---</p>
<p>通往罗特斯巢穴的道路,比想象中更加凶险。</p>
<p>这里已经没有普通的GBL教信徒了——取而代之的是更高级的存在GBL教神官、主教、祭司。它们的力量远超之前的敌人而且更加疯狂。</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>终于他们来到了BOSS房间的入口。</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>轰——</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>
<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>林克站起身,看着手中的晨曦。</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-25.html" class="nav-btn ">上一章</a>
<a href="../chapters.html" class="nav-btn">目录</a>
<a href="chapter-27.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">第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 current">第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(26)) {
readChapters.push(26);
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>