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实现的网站首页随机公告随机公告
Mar 14 Javascript
jquery 常用操作方法
Jan 28 Javascript
JS集成fckeditor及判断内容是否为空的方法
May 27 Javascript
JS获取中文拼音首字母并通过拼音首字母快速查找页面内对应中文内容的方法【附demo源码】
Aug 19 Javascript
CSS3 3D 技术手把手教你玩转
Sep 02 Javascript
javascript ASCII和Hex互转的实现方法
Dec 27 Javascript
Javascript中Promise的四种常用方法总结
Jul 14 Javascript
教你5分钟学会用requirejs(必看篇)
Jul 25 Javascript
基于Vue实现拖拽功能
Jul 29 Javascript
jquery实现烟花效果(面向对象)
Mar 10 jQuery
Element-UI 使用el-row 分栏布局的教程
Oct 26 Javascript
详解JavaScript原型与原型链
Nov 16 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 Stream_*系列函数
2010/08/01 PHP
不支持fsockopen但支持culr环境下下ucenter与modoer通讯问题
2011/08/12 PHP
PHP不用第三变量交换2个变量的值的解决方法
2013/06/02 PHP
JS OOP包机制,类创建的方法定义
2009/11/02 Javascript
Jquery在指定DIV加载HTML示例代码
2014/02/17 Javascript
js时间比较示例分享(日期比较)
2014/03/05 Javascript
IE下通过a实现location.href 获取referer的值
2014/09/04 Javascript
javascript多物体运动实现方法分析
2016/01/08 Javascript
基于javascript制作微博发布栏效果
2016/04/04 Javascript
基于JQuery实现分隔条的功能
2016/06/17 Javascript
AngularJS表单详解及示例代码
2016/08/17 Javascript
javascript设计模式Constructor(构造器)模式
2016/08/19 Javascript
微信小程序 rich-text的使用方法
2017/08/04 Javascript
基于Vue2.0+ElementUI实现表格翻页功能
2017/10/23 Javascript
JS排序算法之希尔排序与快速排序实现方法
2017/12/12 Javascript
Vue+mui实现图片的本地缓存示例代码
2018/05/24 Javascript
vue使用rem实现 移动端屏幕适配
2018/09/26 Javascript
bootstrap-closable-tab可实现关闭的tab标签页插件
2020/08/09 Javascript
Vue 使用iframe引用html页面实现vue和html页面方法的调用操作
2020/11/16 Javascript
python让图片按照exif信息里的创建时间进行排序的方法
2015/03/16 Python
Python 类与元类的深度挖掘 II【经验】
2016/05/06 Python
python中解析json格式文件的方法示例
2017/05/03 Python
python 修改本地网络配置的方法
2019/08/14 Python
Python的scikit-image模块实例讲解
2020/12/30 Python
Python项目打包成二进制的方法
2020/12/30 Python
BAILEY 44官网:美国制造的女性服装
2019/07/01 全球购物
党员批评与自我批评
2014/02/12 职场文书
《小草和大树》教学反思
2014/02/16 职场文书
12岁生日演讲稿
2014/05/14 职场文书
公司领导班子对照材料
2014/08/18 职场文书
运动会400米加油稿(8篇)
2014/09/22 职场文书
员工离职感谢信
2015/01/22 职场文书
教师节主持词开场白
2015/05/29 职场文书
新学期小学班主任工作计划
2019/06/21 职场文书
创作书写之导游词实用技巧分享(干货)
2019/12/20 职场文书
解析MySQL索引的作用
2022/03/03 MySQL