当前位置:首页 > VUE

vue实现小说目录

2026-03-29 17:30:33VUE

Vue 实现小说目录的步骤

数据准备

确保有小说章节数据,通常是一个数组,每个元素包含章节标题和内容。例如:

chapters: [
  { title: "第一章", content: "..." },
  { title: "第二章", content: "..." }
]

目录列表渲染

使用 v-for 渲染目录列表,并绑定点击事件跳转章节:

<template>
  <div class="catalog">
    <ul>
      <li v-for="(chapter, index) in chapters" :key="index" @click="goToChapter(index)">
        {{ chapter.title }}
      </li>
    </ul>
  </div>
</template>

跳转逻辑实现

在 methods 中定义跳转方法,通过索引切换当前章节:

vue实现小说目录

methods: {
  goToChapter(index) {
    this.currentChapter = this.chapters[index];
  }
}

当前章节高亮

通过动态 class 实现当前选中章节的高亮效果:

<li 
  v-for="(chapter, index) in chapters" 
  :class="{ active: currentChapterIndex === index }"
>
  {{ chapter.title }}
</li>

样式优化

添加基础样式美化目录列表:

vue实现小说目录

.catalog ul {
  list-style: none;
  padding: 0;
}
.catalog li {
  padding: 8px;
  cursor: pointer;
}
.catalog li.active {
  background: #eee;
}

滚动定位增强

对于长目录可添加滚动定位功能,确保当前章节可见:

goToChapter(index) {
  this.currentChapterIndex = index;
  const element = this.$el.querySelectorAll('li')[index];
  element.scrollIntoView({ behavior: 'smooth' });
}

响应式设计

通过 CSS 媒体查询适配移动端:

@media (max-width: 768px) {
  .catalog {
    width: 100%;
  }
}

持久化当前阅读进度

使用 localStorage 保存阅读进度:

// 保存进度
localStorage.setItem('lastReadChapter', this.currentChapterIndex);

// 初始化时读取
const savedChapter = localStorage.getItem('lastReadChapter');
if (savedChapter) {
  this.currentChapterIndex = Number(savedChapter);
}

标签: 目录小说
分享给朋友:

相关文章

vue实现目录功能

vue实现目录功能

Vue实现目录功能的方法 基于路由的目录结构 在Vue项目中,可以通过路由配置自动生成目录结构。使用vue-router的routes数组可以定义页面层级关系,结合递归组件渲染目录树。 // rou…

vue实现文档目录

vue实现文档目录

Vue 实现文档目录的方法 使用动态组件与路由 在 Vue 项目中,可以通过动态组件和路由结合实现文档目录功能。创建一个目录组件,根据路由动态加载对应的文档内容。 <template>…

vue多级目录实现

vue多级目录实现

Vue 多级目录实现方法 使用嵌套路由 Vue Router支持嵌套路由配置,适合实现多级目录结构。在路由配置文件中定义子路由,通过children属性实现层级关系。 const routes =…

vue 实现目录树

vue 实现目录树

Vue 实现目录树的方法 在 Vue 中实现目录树功能可以通过多种方式完成,以下是一些常见的方法: 使用递归组件实现目录树 递归组件是 Vue 中实现树形结构的常见方法,通过组件自身调用自身来实现多…

vue实现导航目录

vue实现导航目录

实现导航目录的基本思路 在Vue中实现导航目录通常涉及监听页面滚动、动态计算元素位置以及高亮当前可见的目录项。以下是具体实现方法: 使用滚动监听和动态高亮 安装依赖scrollama或类似库来简化滚…

vue实现章节目录

vue实现章节目录

实现章节目录的基本思路 在Vue中实现章节目录功能,通常需要结合数据驱动和组件化思想。核心是通过数据管理章节结构,利用递归组件或动态渲染实现目录层级展示。 数据结构设计 建议使用嵌套结构存储章节信息…