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 相关文章推荐
Prototype使用指南之selector.js
Jan 10 Javascript
js获取元素在浏览器中的绝对位置
Jul 24 Javascript
javascript数字格式化通用类 accounting.js使用
Aug 24 Javascript
如何让div span等元素能响应键盘事件操作指南
Nov 13 Javascript
js open() 与showModalDialog()方法使用介绍
Sep 10 Javascript
jquery获取tr并更改tr内容示例代码
Feb 13 Javascript
jquery序列化表单去除指定元素示例代码
Apr 10 Javascript
JS实现的竖向折叠菜单代码
Oct 21 Javascript
js addDqmForPP给标签内属性值加上双引号的函数
Dec 24 Javascript
JS使用正则表达式验证身份证号码
Jun 23 Javascript
vue数组对象排序的实现代码
Jun 20 Javascript
详解Typescript里的This的使用方法
Jan 08 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超大文件下载,断点续传下载的方法详解
2013/06/06 PHP
php 使用curl模拟ip和来源进行访问的实现方法
2017/05/02 PHP
php大小写转换函数(strtolower、strtoupper)用法介绍
2017/11/17 PHP
PHP数组式访问接口ArrayAccess用法分析
2017/12/28 PHP
Yii框架组件的事件机制原理与用法分析
2020/04/07 PHP
jquery异步循环获取功能实现代码
2010/09/19 Javascript
Moment.js 不容错过的超棒Javascript日期处理类库
2012/04/15 Javascript
原生js的RSA和AES加密解密算法
2016/10/08 Javascript
jQuery实现遍历复选框的方法示例
2017/03/06 Javascript
轻松实现jQuery添加删除按钮Click事件
2017/03/13 Javascript
node文件批量重命名的方法示例
2017/10/23 Javascript
Vue手把手教你撸一个 beforeEnter 钩子函数
2018/04/24 Javascript
使用weixin-java-miniapp配置进行单个小程序的配置详解
2019/03/29 Javascript
Vue+Element实现网页版个人简历系统(推荐)
2019/12/31 Javascript
原生js实现无缝轮播图
2020/01/11 Javascript
[01:08]2014DOTA2展望TI 剑指西雅图LGD战队专访
2014/06/30 DOTA
Python的math模块中的常用数学函数整理
2016/02/04 Python
python2.6.6如何升级到python2.7.14
2018/04/08 Python
Python简单读写Xls格式文档的方法示例
2018/08/17 Python
django中上传图片分页三级联动效果的实现代码
2019/08/30 Python
flask 使用 flask_apscheduler 做定时循环任务的实现
2019/12/10 Python
pytorch中nn.Conv1d的用法详解
2019/12/31 Python
python json 递归打印所有json子节点信息的例子
2020/02/27 Python
如何利用input事件来监听移动端的输入
2016/04/15 HTML / CSS
HTML5 拖放(Drag 和 Drop)详解与实例代码
2017/09/14 HTML / CSS
大学校园毕业自我鉴定
2014/01/15 职场文书
自考生自我评价分享
2014/01/18 职场文书
2014年高考决心书
2014/03/11 职场文书
大学迎新标语
2014/06/26 职场文书
2014年教学管理工作总结
2014/12/02 职场文书
2014年林业工作总结
2014/12/05 职场文书
思想品德评语大全
2014/12/31 职场文书
社区扶贫帮困工作总结
2015/05/20 职场文书
行政处罚事先告知书
2015/07/01 职场文书
军事理论课感想
2015/08/11 职场文书
Python3 类型标注支持操作
2021/06/02 Python