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

570 lines
26 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 25</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>---</p>
<p>林克拿出了晨曦。</p>
<p>剑身上的光芒在凯丽的店里显得格外明亮。这把剑曾经与光之核心融合,又经历了多次与使徒力量的战斗。</p>
<p>"这把剑……"凯丽的眼睛亮了起来,"它身上蕴含着强大的光之力量,还有……使徒的气息?"</p>
<p>"它曾经与天空之城的光之核心融合,也在天帷巨兽上与罗特斯的力量多次交锋。"林克说,"这够吗?"</p>
<p>凯丽仔细观察着晨曦,脸上露出惊讶的表情:"不可思议……这把剑已经产生了某种质变。它不仅仅是武器,更像是……一个有生命的存在。"</p>
<p>她伸出手,轻轻触碰剑身。晨曦微微颤动,发出柔和的光芒,似乎在回应她的触摸。</p>
<p>"我可以从剑身上提取一些能量样本。"凯丽说,"但这可能会对剑造成一些影响。你确定吗?"</p>
<p>林克握紧晨曦,感受着剑身传来的温度。晨曦仿佛在告诉他:没关系,为了战胜使徒,这是必要的牺牲。</p>
<p>"我确定。"林克说。</p>
<p>---</p>
<p>凯丽的工作室里,各种精密的仪器发出嗡嗡的声响。</p>
<p>林克他们花了整整一天时间,收集凯丽需要的材料。光之结晶来自天空之城的遗迹,暗影精华来自暗黑雷鸣废墟,其他材料也都是在危险的地方获取的。</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>
</article>
</div>
<!-- 固定底部导航 -->
<nav class="fixed-nav">
<div class="fixed-nav-content">
<a href="chapter-24.html" class="nav-btn ">上一章</a>
<a href="../chapters.html" class="nav-btn">目录</a>
<a href="chapter-26.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 current">第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(25)) {
readChapters.push(25);
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>