使用iElevator.js模拟segmentfault的文章标题导航

本文介绍了一个名为iElevator.js的jQuery插件,该插件使用简便且兼容性良好,支持多种配置方式及sticky定位。通过示例展示了如何在Markdown文档中创建文章导航。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

iElevator.js是小弟业余时间写的一个jQuery小插件,纯属自娱自乐o(^▽^)o!感兴趣的同学可以体验一下,有问题或建议可以直接提出,大家可以共同讨论学习!对于iElevator.js我的上篇文章已做介绍。


iElevator.js是一个jquery小插件,使用简单,兼容IE6,支持UMD和3种配置方式,比锚点更灵活。并支持sticky定位

1. 通过markdown随便编写一篇文章,并将其导出成html文件

#文章标题
##标题1
1
1
1
##标题2
2
2
2
##标题3
.
.
.

2. 创建文章导航

HTML:

<div class="sidebar" id="demo">
    <h3>文章目录</h3>
    <div class="nav">
        <div class="highlight">
            
        </div>
        <ul class="list">
            
        </ul>
    </div>
</div>

Javascript:

// 获取Markdown中的标题
    var $demo = $('#demo'),
        $titles = $('h2'),
        $nav = $demo.find('.list'),
        STR = '';
    // 填充标题
    $titles.each(function(){
        STR += '<li><a>'+ $(this).text() +'</a></li>';
    });
    $nav.html(STR);

对文章标题的获取,可以通过指定特定标识符来获取,如果有副标题可以通过递归来遍历。

3. 调用ielevator

    // 获取Markdown中的标题
    var $demo = $('#demo'),
        $titles = $('h2'),
        $nav = $demo.find('.list'),
        $highlight = $demo.find('.highlight'),
        STR = '';
    // 填充标题
    $titles.each(function(){
        STR += '<li><a>'+ $(this).text() +'</a></li>';
    });
    $nav.html(STR);
    // 调用ielevator
    $demo.ielevator({
        floors: $titles,
        btns: $('#demo li'),
        sticky: 10,
        selected: $highlight
    });

配置项中sticky: 10使用sticky定位,与窗口的top的距离为10。

4. 实现效果:http://zhansingsong.github.io/segmentfault

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值