tocify是一个能够动态生成文章节点目录的jquery插件。假如我们有一篇很长的文章,文章有多个节点,那么使用tocify可以根据节点元素动态生成文章目录,点击目录可以平滑滚动到对应的节点,当然当滚动页面时,目录结构会根据当前监听到的节点进行切换到当前目录状态。
查看演示 下载源码
tocify目前支持twitter bootstrap和jqueryui themeroller两种主题风格,我们可以根据实际项目任选其中一种风格,另外必要条件jquery 1.7.2+和jqueryui widget factory 1.8.21+。放心在ie7+即现代浏览器上使用。
引入css和javascript文件 css文件
javascript文件
html结构 创建一个div标签,然后给这个标签添加一个id或者class,例如:toc
这个div#toc它默认是空的内容,它用来动态生成文章目录,那文章目录如何动态关联文章节点的呢?我们还需要把文章节点做一些规划,如:
tocify
节点1 内容
节点2 内容
...
以上的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
tocify还提供setoptions()和option()分别来设置和获取选项参数。有关更多tocify的内容有兴趣的可以参阅tocify项目官网: http://gregfranko.com/jquery.tocify.js/