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 相关文章推荐
JavaScript中的Screen屏幕对象
Jan 16 Javascript
3分钟写出来的Jquery版checkbox全选反选功能
Oct 23 Javascript
JavaScript插件化开发教程 (一)
Jan 27 Javascript
javascript为按钮注册回车事件(设置默认按钮)的方法
May 09 Javascript
将JSON字符串转换成Map对象的方法
Nov 30 Javascript
走进AngularJs之过滤器(filter)详解
Feb 17 Javascript
Vue组件开发之LeanCloud带图形校验码的短信发送功能
Nov 07 Javascript
Webpack中publicPath路径问题详解
May 03 Javascript
微信小程序适配iphoneX的实现方法
Sep 18 Javascript
Vue动画事件详解及过渡动画实例
Feb 09 Javascript
javascript canvas API内容整理
Feb 16 Javascript
js实现浏览器打印功能的示例代码
Jul 15 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中调用SVN命令更新网站方法
2015/01/07 PHP
总结PHP如何获取当前主机、域名、网址、路径、端口和参数等
2016/09/09 PHP
js操作ajax返回的json的注意问题!
2010/02/23 Javascript
JQuery中each()的使用方法说明
2010/08/19 Javascript
jQuery Validation实例代码 让验证变得如此容易
2010/10/18 Javascript
说说JSON和JSONP 也许你会豁然开朗
2012/09/02 Javascript
JavaScript建立一个语法高亮输入框实现思路
2013/02/26 Javascript
Query中click(),bind(),live(),delegate()的区别
2013/11/19 Javascript
JavaScript调试工具汇总
2014/12/23 Javascript
TypeScript 学习笔记之基本类型
2015/06/19 Javascript
你有必要知道的25个JavaScript面试题
2015/12/29 Javascript
AngularJS框架的ng-app指令与自动加载实现方法分析
2017/01/04 Javascript
jQuery Form表单取值的方法
2017/01/11 Javascript
微信小程序支付及退款流程详解
2017/11/30 Javascript
最实用的JS数组函数整理
2017/12/05 Javascript
一次记住JavaScript的6个正则表达式方法
2018/02/22 Javascript
js前端面试之同步与异步问题详解
2019/04/03 Javascript
JS数组进阶示例【数组的几种函数用法】
2020/01/16 Javascript
js实现简单选项卡制作
2020/08/05 Javascript
浅析Python的web.py框架中url的设定方法
2016/07/11 Python
对python中for、if、while的区别与比较方法
2018/06/25 Python
详解Numpy数组转置的三种方法T、transpose、swapaxes
2019/05/27 Python
Django Aggregation聚合使用方法解析
2019/08/01 Python
详解如何减少python内存的消耗
2019/08/09 Python
Python函数式编程指南:对生成器全面讲解
2019/11/19 Python
pytorch:torch.mm()和torch.matmul()的使用
2019/12/27 Python
Python库安装速度过慢解决方案
2020/07/14 Python
pycharm最新激活码有效期至2100年(亲测可用)
2021/02/05 Python
室内设计专业个人的自我评价
2013/10/19 职场文书
煤矿安全生产月活动总结
2014/07/05 职场文书
2014年政风行风自查自纠报告
2014/10/21 职场文书
2015年行政助理工作总结
2015/04/30 职场文书
英文辞职信范文
2015/05/13 职场文书
冰雪公主观后感
2015/06/16 职场文书
安全温馨提示语大全
2015/07/14 职场文书
从零开始在Centos7上部署SpringBoot项目
2022/04/07 Servers