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

597 lines
27 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 31</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>---</p>
<p>蜘蛛洞穴比浅栖之地更加阴森。</p>
<p>这里的空气中弥漫着一股腥臭味,地面上到处是粘稠的蛛丝。洞穴的墙壁上挂满了白色的蛛网,有些蛛网上还粘着动物的尸体。</p>
<p>"好恶心……"赛丽亚皱着眉头,紧紧跟在林克身后。</p>
<p>"小心别碰到那些蛛丝。"奥菲利亚提醒道,"有些蛛丝是有毒的。"</p>
<p>艾伦举起长剑,圣光在剑身上闪烁:"我感觉到很多邪恶的气息……这里到处都是蜘蛛。"</p>
<p>话音刚落,洞穴深处传来了沙沙的声响。</p>
<p>数十只巨大的蜘蛛从四面八方爬了出来。它们的身体足有脸盆大小,八只眼睛泛着红光,口中滴着绿色的毒液。</p>
<p>"战斗准备!"林克大喊。</p>
<p>蜘蛛们发起了攻击。它们的速度极快,在墙壁和天花板上自由爬行,从各个角度扑向队伍。</p>
<p>"圣光十字!"</p>
<p>艾伦的攻击击中了最前面的几只蜘蛛,但更多的蜘蛛涌了上来。其中一只蜘蛛张开嘴,喷出了一团绿色的毒液。</p>
<p>"小心!"林克一把拉过赛丽亚,躲过了毒液。毒液落在地上,发出嘶嘶的声响,地面被腐蚀出了一个小坑。</p>
<p>"这些蜘蛛会喷毒!"奥菲利亚惊呼。</p>
<p>"交给我!"赛丽亚举起法杖,"净化之光!"</p>
<p>一道白色的光芒从法杖中射出,将几只蜘蛛笼罩其中。被光芒照射的蜘蛛发出凄厉的尖叫,身体开始融化。</p>
<p>"有效!"艾伦喊道,"赛丽亚,继续用光属性攻击!"</p>
<p>但蜘蛛的数量太多了。它们源源不断地从洞穴深处涌出,仿佛无穷无尽。</p>
<p>"不能这样耗下去!"林克咬牙,"我要用新技能了!"</p>
<p>他深吸一口气,将全身的剑气凝聚在晨曦上。这是他在击败罗特斯后领悟的新招式——</p>
<p>"猛龙断空斩!"</p>
<p>林克的身形瞬间化作一道金色的龙形剑气,向前突进。剑气所过之处,所有的蜘蛛都被斩成了碎片。</p>
<p>轰——</p>
<p>剑气贯穿了整个洞穴,留下了一条长长的痕迹。数十只蜘蛛在这一击中被消灭,洞穴里到处都是蜘蛛的残肢。</p>
<p>"好……好厉害……"奥菲利亚瞪大了眼睛,"这是什么招式?"</p>
<p>"猛龙断空斩。"林克收回剑,微微喘息,"40级的剑魂技能。我也是第一次实战使用。"</p>
<p>赛丽亚跑过来,担心地看着他:"你没事吧?这个技能消耗很大吗?"</p>
<p>"有点累,但还能坚持。"林克笑了笑,"走吧BOSS应该就在前面。"</p>
<p>---</p>
<p>洞穴的最深处,是一个巨大的地下空间。</p>
<p>这里的蛛丝更加密集,几乎将整个空间都覆盖了。在空间的中央,一只巨大的蜘蛛正趴在那里。</p>
<p>那就是艾克洛索。</p>
<p>它的身体足有一间房子那么大,八条长腿上长满了尖刺,腹部有一个巨大的红色花纹,看起来像是某种诡异的图案。</p>
<p>"这就是……艾克洛索?"赛丽亚的声音在颤抖。</p>
<p>艾克洛索缓缓转过头,八只眼睛同时盯住了入侵者。它张开嘴,发出了一声刺耳的嘶鸣。</p>
<p>然后,它动了。</p>
<p>艾克洛索的速度快得惊人,与它庞大的身躯完全不成比例。它张开嘴,喷出了三团白色的蛛网。</p>
<p>"散开!"林克大喊。</p>
<p>四人迅速散开,躲过了蛛网。蛛网落在地上,瞬间将地面粘住,如果被击中,后果不堪设想。</p>
<p>"我来吸引它的注意力!"艾伦大喊,"圣光守护!"</p>
<p>他冲上前去,长剑上燃烧着圣光。艾克洛索被圣光吸引,转头向他扑去。</p>
<p>"就是现在!"林克抓住机会,从侧翼发动攻击。</p>
<p>"流心·刺!"</p>
<p>晨曦刺入了艾克洛索的一条腿,绿色的血液喷涌而出。艾克洛索发出痛苦的嘶鸣,猛地一甩腿,将林克甩飞出去。</p>
<p>"林克!"赛丽亚惊呼。</p>
<p>林克在空中调整姿势,稳稳落地。但还没等他站稳,艾克洛索又发动了新的攻击。</p>
<p>它的腹部突然打开,发射出了数枚……导弹?</p>
<p>"导弹?!"林克瞪大了眼睛,"这蜘蛛还会发射导弹?!"</p>
<p>他急忙闪避,导弹在他身边爆炸,掀起的气浪将他震得后退了几步。</p>
<p>"这什么鬼东西……"林克苦笑,"蜘蛛都会发射导弹了?"</p>
<p>"小心!它又要攻击了!"奥菲利亚大喊。</p>
<p>艾克洛索的身体突然开始下沉,钻入了地下。</p>
<p>"它钻地了!"艾伦大喊,"大家小心脚下!"</p>
<p>地面开始震动,突然,艾克洛索从地下钻出,巨大的身体向林克撞来。</p>
<p>林克急忙翻滚躲避,但艾克洛索的攻击还没结束。它张开嘴,喷出了大量的蛛丝,将林克的退路全部封死。</p>
<p>"不好!"</p>
<p>林克被蛛丝缠住了。那些蛛丝异常坚韧,他越是挣扎,缠得越紧。</p>
<p>艾克洛索缓缓靠近,张开巨大的口器,准备给林克致命一击。</p>
<p>"林克!"赛丽亚和奥菲利亚同时尖叫。</p>
<p>---</p>
<p>就在这千钧一发之际,一道金色的光芒从天而降。</p>
<p>"圣光审判!"</p>
<p>艾伦的攻击正中艾克洛索的头部,让它发出痛苦的嘶鸣。它暂时放弃了林克,转头向艾伦扑去。</p>
<p>"好机会!"奥菲利亚大喊,扔出了几瓶炼金药剂,"火焰瓶!"</p>
<p>火焰在艾克洛索身上燃烧,但它似乎对火焰有一定的抗性,并没有受到太大的伤害。</p>
<p>"普通的火焰对它效果不大!"奥菲利亚焦急地说。</p>
<p>"让我来!"赛丽亚举起法杖,"精灵之炎!"</p>
<p>这是结合了精灵之力的高级火焰魔法,比普通的火焰更加强大。艾克洛索被火焰灼烧,发出凄厉的尖叫。</p>
<p>趁着这个机会,林克挣脱了蛛丝的束缚。他看着眼前的巨大蜘蛛,心中暗暗思考对策。</p>
<p>"它的弱点……在哪里?"</p>
<p>他注意到,艾克洛索每次发射导弹时,腹部的红色花纹都会发光。那可能就是它的弱点!</p>
<p>"艾伦!"林克大喊,"吸引它的注意力,让我接近它的腹部!"</p>
<p>"明白!"艾伦举起长剑,向艾克洛索发起了猛攻。</p>
<p>艾克洛索被艾伦吸引,转身向他扑去。林克趁机绕到了它的身后。</p>
<p>"就是现在!"</p>
<p>林克跃起,双手握住晨曦,将全部的剑气凝聚在剑身上。</p>
<p>"猛龙断空斩——!"</p>
<p>这一次,他将所有的力量都注入了这一击。金色的龙形剑气从晨曦上爆发,直直斩向艾克洛索腹部的红色花纹。</p>
<p>"嘶——!!!"</p>
<p>艾克洛索发出了前所未有的凄厉尖叫。剑气贯穿了它的腹部,绿色的血液如同喷泉般涌出。</p>
<p>它的身体开始抽搐,八条腿无力地挥舞着,最后轰然倒地。</p>
<p>巨大的蜘蛛,终于停止了挣扎。</p>
<p>---</p>
<p>战斗结束后,四人都累得瘫坐在地上。</p>
<p>"终于……结束了……"林克大口喘息着,刚才的猛龙断空斩几乎耗尽了他全部的体力。</p>
<p>"林克!"赛丽亚扑进他的怀里,"你吓死我了!被蛛丝缠住的时候,我以为……"</p>
<p>"没事了,没事了。"林克轻轻拍着她的背,"我这不是好好的吗?"</p>
<p>奥菲利亚也走了过来,虽然没有像赛丽亚那样扑进怀里,但眼中的关切之色溢于言表:"你太乱来了,那种情况下还想着攻击。"</p>
<p>"不冒险的话,怎么能赢呢?"林克笑了笑。</p>
<p>艾伦走过来,伸出手将林克拉了起来:"干得好,剑魂。你的猛龙断空斩……真的很强。"</p>
<p>"谢谢。"林克握住他的手,站了起来。</p>
<p>他看向艾克洛索的尸体,心中暗暗感慨。</p>
<p>这就是40级技能的威力吗比之前使用的任何招式都要强大。</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-30.html" class="nav-btn ">上一章</a>
<a href="../chapters.html" class="nav-btn">目录</a>
<a href="chapter-32.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">第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 current">第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(31)) {
readChapters.push(31);
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>