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 相关文章推荐
event.currentTarget与event.target的区别介绍
Dec 31 Javascript
裁剪字符串trim()自定义改进版
Apr 10 Javascript
jQuery绑定事件不执行但alert后可以正常执行
Jun 03 Javascript
JS复制对应id的内容到粘贴板(Ctrl+C效果)
Jan 23 Javascript
微信小程序 弹窗自定义实例代码
Mar 08 Javascript
js实现首屏延迟加载实现方法 js实现多屏单张图片延迟加载效果
Jul 17 Javascript
vue.js  父向子组件传参的实例代码
Oct 29 Javascript
Vue模拟数据,实现路由进入商品详情页面的示例
Aug 31 Javascript
ES6模板字符串和标签模板的应用实例分析
Jun 25 Javascript
如何用JS模拟实现数组的map方法
Jul 30 Javascript
Vue实现简单的拖拽效果
Aug 25 Javascript
Ant design vue table 单击行选中 勾选checkbox教程
Oct 24 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
Thinkphp框架+Layui实现图片/文件上传功能分析
2020/02/07 PHP
JavaScript toFixed() 方法
2010/04/15 Javascript
JavaScript instanceof 的使用方法示例介绍
2013/10/23 Javascript
解决checkbox的attr(checked)一直为undefined问题
2014/06/16 Javascript
JavaScript监听文本框回车事件并过滤文本框空格的方法
2015/04/16 Javascript
js面向对象之常见创建对象的几种方式(工厂模式、构造函数模式、原型模式)
2015/11/09 Javascript
webpack 2的react开发配置实例代码
2017/07/28 Javascript
React Native 集成jpush-react-native的示例代码
2017/08/16 Javascript
微信小程序checkbox组件使用详解
2018/01/31 Javascript
基于Nodejs的Tcp封包和解包的理解
2018/09/19 NodeJs
Vue 页面权限控制和登陆验证功能的实例代码
2019/06/20 Javascript
VUE实时监听元素距离顶部高度的操作
2020/07/29 Javascript
[04:44]显微镜下的DOTA2第二期——你所没有注意到的细节
2014/06/20 DOTA
[01:30:15]DOTA2-DPC中国联赛 正赛 Ehome vs Aster BO3 第二场 2月2日
2021/03/11 DOTA
Python3 导入上级目录中的模块实例
2019/02/16 Python
Python3 venv搭建轻量级虚拟环境的步骤(图文)
2019/08/09 Python
python 使用pygame工具包实现贪吃蛇游戏(多彩版)
2019/10/30 Python
python中p-value的实现方式
2019/12/16 Python
TensorFlow Saver:保存和读取模型参数.ckpt实例
2020/02/10 Python
python程序文件扩展名知识点详解
2020/02/27 Python
python实现录屏功能(亲测好用)
2020/03/02 Python
Python数据正态性检验实现过程
2020/04/18 Python
Pyside2中嵌入Matplotlib的绘图的实现
2021/02/22 Python
意大利团购网站:Groupon意大利
2016/10/11 全球购物
澳大利亚二手奢侈品网站:Modsie
2019/09/23 全球购物
煤矿机修工岗位职责
2014/02/07 职场文书
超市重阳节活动方案
2014/02/10 职场文书
生物制药专业求职信
2014/03/11 职场文书
教师节促销方案
2014/03/22 职场文书
竞选班干部演讲稿
2014/04/24 职场文书
金融与证券专业求职信
2014/06/22 职场文书
2014年组织委员工作总结
2014/12/01 职场文书
2015学校六五普法工作总结
2015/04/22 职场文书
道歉信范文
2015/05/12 职场文书
值班管理制度范本
2015/08/06 职场文书
Win11运行cmd提示“请求的操作需要提升”的两种解决方法
2022/07/07 数码科技