jQuery插件之Tocify动态节点目录菜单生成器附源码下载


Posted in Javascript onJanuary 08, 2016

Tocify是一个能够动态生成文章节点目录的jQuery插件。假如我们有一篇很长的文章,文章有多个节点,那么使用Tocify可以根据节点元素动态生成文章目录,点击目录可以平滑滚动到对应的节点,当然当滚动页面时,目录结构会根据当前监听到的节点进行切换到当前目录状态。

jQuery插件之Tocify动态节点目录菜单生成器附源码下载

效果展示         源码下载

Tocify目前支持Twitter Bootstrap和jQueryUI Themeroller两种主题风格,我们可以根据实际项目任选其中一种风格,另外必要条件jQuery 1.7.2+和jQueryUI Widget Factory 1.8.21+。放心在IE7+即现代浏览器上使用。

引入CSS和Javascript文件

css文件

<link type="text/css" rel="stylesheet" href="jquery.tocify.css" /> 
<link type="text/css" rel="stylesheet" href="bootstrap.css" />

JavaScript文件

<script src="jquery-1.7.2.min.js"></script> 
<script src="jquery-ui-1.9.1.custom.min.js"></script> 
<script src="jquery.tocify.min.js""></script>

HTML结构

创建一个DIV标签,然后给这个标签添加一个ID或者Class,例如:toc

<div id="toc"></div>

这个div#toc它默认是空的内容,它用来动态生成文章目录,那文章目录如何动态关联文章节点的呢?我们还需要把文章节点做一些规划,如:

<div class="wrap"> 
<h1>Tocify</h1> 
<br /> 
<section> 
<h2>节点1</h2> 
<p>内容</p> 
</section> 
<br /> 
<section> 
<h2>节点2</h2> 
<p>内容</p> 
</section> 
... 
</div>

以上的HTML结构代码大家可以修改tocify的CSS文件来满足你项目视觉的需求。

Javascript

使用jQuery选择选中我们的toc元素,然后通过tocify()方法调用Tocify插件。

$(function() { 
$("#toc").tocify(); 
});

如此,运行网页,一个动态的文章目录就生成了。

选项设置

Tocify提供了丰富的选项设置,我们可以根据项目实际需求设置不同的选项参数。以下是主要的几个参数选项介绍:

选项 说明 默认值
context 任意可用的jQuery选择器 "body"
selectors 文章节点,可以关联生成目录 "h1,h2,h3"
showAndHide 是否展示二级目录结构 true
showEffect 目录展示效果:"none", "fadeIn", "show", or "slideDown" "slideDown"
showEffectSpeed 目录展示速度:"slow", "medium", "fast", 或数字(毫秒) "medium"
hideEffect 目录隐藏效果:"none", "fadeOut", "hide", "slideUp" "none"
hideEffectSpeed 目录隐藏速度:"slow", "medium", "fast", 或数字(毫秒) "medium"
smoothScroll 当点击目录节点菜单时,是否平滑滚动到文章对应的节点内容 true
smoothScrollSpeed 平滑滚动速率,可以是数字(毫秒) or String: "slow", "medium", or "fast" "medium"
scrollTo 当页面滚动时,页面顶端与目录之间的间隔 0
showAndHideOnScroll 当滚动页面时,是否显示和隐藏目录子菜单 true
theme 内容展示风格,可以是"bootstrap", "jqueryui", or "none" "bootstrap"
Javascript 相关文章推荐
用js实现的一个Flash滚动轮换显示图片代码生成器
Mar 14 Javascript
javascript判断是手机还是电脑访问网页的简单实例分享
Jun 03 Javascript
javascript使用数组的push方法完成快速排序
Sep 15 Javascript
简介JavaScript中的unshift()方法的使用
Jun 09 Javascript
javascript实现瀑布流动态加载图片原理
Aug 12 Javascript
JavaScript自定义函数实现查找两个字符串最长公共子串的方法
Nov 24 Javascript
smartupload实现文件上传时获取表单数据(推荐)
Dec 12 Javascript
开源免费天气预报接口API及全国所有地区代码(国家气象局提供)
Dec 26 Javascript
Angular4学习笔记之新建项目的方法
Jul 18 Javascript
详解使用vue-cli脚手架初始化Vue项目下的项目结构
Mar 08 Javascript
bootstrap table实现iview固定列的效果实例代码详解
Sep 30 Javascript
JS常用排序方法实例代码解析
Mar 03 Javascript
javascript匀速运动实现方法分析
Jan 08 #Javascript
js如何改变文章的字体大小
Jan 08 #Javascript
JavaScript缓冲运动实现方法(2则示例)
Jan 08 #Javascript
jQuery抛物线运动实现方法(附完整demo源码下载)
Jan 08 #Javascript
基于javascript实现右下角浮动广告效果
Jan 08 #Javascript
jQuery数据类型小结(14个)
Jan 08 #Javascript
JS运动相关知识点小结(附弹性运动示例)
Jan 08 #Javascript
You might like
PHP 程序授权验证开发思路
2009/07/09 PHP
深入php数据采集的详解
2013/06/02 PHP
php计算给定日期所在周的开始日期和结束日期示例
2017/02/06 PHP
IE和Firefox下javascript的兼容写法小结
2008/12/10 Javascript
js 发个判断字符串是否为符合标准的函数
2009/04/27 Javascript
JS图片无缝滚动(简单利于使用)
2013/06/17 Javascript
JS实现模仿微博发布效果实例代码
2013/12/16 Javascript
jQuery学习笔记之总体架构
2014/06/03 Javascript
javascript中的正则表达式使用指南
2015/03/01 Javascript
js实时获取并显示当前时间的方法
2015/07/31 Javascript
使用jQuery实现WordPress中的Ctrl+Enter和@评论回复
2016/05/21 Javascript
微信小程序 缓存(本地缓存、异步缓存、同步缓存)详解
2017/01/17 Javascript
jQuery幻灯片插件owlcarousel参数说明中文文档
2018/02/27 jQuery
手把手教你vue-cli单页到多页应用的方法
2018/05/31 Javascript
layui checkbox默认选中,获取选中值,清空所有选中项的例子
2019/09/02 Javascript
JavaScript设计模式之策略模式实现原理详解
2020/05/29 Javascript
js实现限定范围拖拽的示例
2020/10/26 Javascript
Vue获取微博授权URL代码实例
2020/11/04 Javascript
python实现线程池的方法
2015/06/30 Python
Python引用模块和查找模块路径
2016/03/17 Python
通过5个知识点轻松搞定Python的作用域
2016/09/09 Python
Python实现文件内容批量追加的方法示例
2017/08/29 Python
python 应用之Pycharm 新建模板默认添加编码格式-作者-时间等信息【推荐】
2019/06/17 Python
Django 在iframe里跳转顶层url的例子
2019/08/21 Python
解决TensorFlow程序无限制占用GPU的方法
2020/06/30 Python
Python爬虫爬取微信朋友圈
2020/08/06 Python
DHC美国官网:日本通信销售第一的化妆品品牌
2017/11/12 全球购物
大专生自我评价
2014/01/28 职场文书
家长评语和期望
2014/02/10 职场文书
晨会主持词
2014/03/17 职场文书
交通事故和解协议书
2014/09/25 职场文书
诉讼和解协议书
2016/03/23 职场文书
导游词之苏州阳澄湖
2019/11/15 职场文书
上帝为你开了一扇窗之Tkinter常用函数详解
2021/06/02 Python
详解SQL的窗口函数
2022/04/21 Oracle
微前端qiankun改造日渐庞大的项目教程
2022/06/21 Javascript