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 相关文章推荐
我也种棵OO树JXTree[js+css+xml]
Apr 02 Javascript
js实现的真正的iframe高度自适应(兼容IE,FF,Opera)
Mar 07 Javascript
如何制作浮动广告 JavaScript制作浮动广告代码
Dec 30 Javascript
验证码按回车不变解决方法
Mar 29 Javascript
JS判断页面是否出现滚动条的方法
Jul 17 Javascript
form表单数据封装成json格式并提交给服务器的实现方法
Dec 14 Javascript
详解vue-meta如何让你更优雅的管理头部标签
Jan 18 Javascript
解决vue中使用Axios调用接口时出现的ie数据处理问题
Aug 13 Javascript
15分钟深入了解JS继承分类、原理与用法
Jan 19 Javascript
小程序中this.setData的使用和注意事项
Aug 28 Javascript
vue使用canvas实现移动端手写签名
Sep 22 Javascript
es5 类与es6中class的区别小结
Nov 09 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
使用PHPMYADMIN操作mysql数据库添加新用户和数据库的方法
2010/04/02 PHP
图文介绍PHP添加Redis模块及连接
2015/07/28 PHP
jQuery学习笔记之DOM对象和jQuery对象
2010/12/22 Javascript
js 手机号码合法性验证代码集合
2012/09/29 Javascript
js 获取和设置css3 属性值的实现方法
2013/05/06 Javascript
jquery实现输入框动态增减的实例代码
2013/07/14 Javascript
JS函数的几种定义方式分析
2015/12/17 Javascript
基于javascript编写简单日历
2016/05/02 Javascript
全面解析Bootstrap中form、navbar的使用方法
2016/05/30 Javascript
js监听键盘事件的方法_原生和jquery的区别详解
2016/10/10 Javascript
Angular2 路由问题修复详解
2017/03/01 Javascript
JS实现瀑布流布局
2017/10/21 Javascript
快速了解vue-cli 3.0 新特性
2018/02/28 Javascript
浅谈Vue内置component组件的应用场景
2018/03/27 Javascript
vue使用vue-i18n实现国际化的实现代码
2018/04/08 Javascript
详解Nuxt.js部署及踩过的坑
2018/08/07 Javascript
浅谈react性能优化的方法
2018/09/05 Javascript
webpack file-loader和url-loader的区别
2019/01/15 Javascript
vue如何获取自定义元素属性参数值的方法
2019/05/14 Javascript
IE11下处理Promise及Vue的单项数据流问题
2019/07/24 Javascript
JS函数进阶之prototy用法实例分析
2020/01/15 Javascript
JS实现canvas简单小画板功能
2020/06/23 Javascript
Python脚本判断 Linux 是否运行在虚拟机上
2015/04/25 Python
深入理解Django的自定义过滤器
2017/10/17 Python
解决nohup重定向python输出到文件不成功的问题
2018/05/11 Python
关于pymysql模块的使用以及代码详解
2019/09/01 Python
在jupyter notebook中调用.ipynb文件方式
2020/04/14 Python
哈曼俄罗斯官方网上商店:Harman.club
2020/07/24 全球购物
《和我们一样享受春天》教学反思
2014/02/07 职场文书
警察先进个人事迹材料
2014/05/16 职场文书
文明城市标语
2014/06/16 职场文书
七一讲话心得体会
2014/09/05 职场文书
英文自荐信范文
2015/03/25 职场文书
2015年评职称工作总结范文
2015/04/20 职场文书
工作态度不好检讨书
2015/05/06 职场文书
Python+Selenium自动化环境搭建与操作基础详解
2022/03/13 Python