文章标题目录锚点定位功能

想必大家开发网站,可能会用到一些文章或者一段长篇幅的介绍,那么方便用户阅读与定位,这个功能就十分方便啦

最近刚开发的新站中,对于软件的介绍内容,需要做标题的提取与锚点定位,就如下图效果所示:

项目地址在www.macw.com 软件内容展示页面中

这个时候,对于后台动态生成的内容,我们如何去提取标题并且生成目录呢,又如何去确定标题所在文档的高度,并且在图片加载完成后不影响高度的定位?

从思路上,我们首先考虑到如何去使用 后面我们所要写的函数,我们需要提供一些什么?

我们需要提供动态生成文章的容器,与生成标题的标签,例如特定的 .title类名,或者h2, h3等标签。

然后,将两个元素作为参数传入我们的函数中,在函数中我们去做一系列的处理

根据标题标签获取所有标签,
并等待所有图片加载后获取标签所在高度放到一个数组中,
创建侧边目录导航加入页面,添加点击功能与锚点定位

下面展示代码


;(function(win, $){
   
    class ContentFixNav {
   
        constructor(wrap, title) {
   
            this.wrapDoms = wrap;
            this.titleDoms = title;
            this.init();
        }

        init() {
   
            this.hHeightArr = [];  //初始化数组容器存放 锚点高度
            this.render();  // 渲染功能
        }

        render() {
   
            $('body').append($('<div id="content-nav"></div>'));  // 生成侧边目录存放的容器 加入页面中
            this.contentNav = $('#content-nav');  // 声明容器

            let _this = this;

            this.titleDoms.each(function(index, el) {
   
                let textArr = $(t
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: ElementUI 提供了一个 `ElAnchor` 组件用于实现锚点定位。使用 `ElAnchor` 组件需要以下步骤: 1. 在需要设置锚点的位置加上 `ElAnchor` 组件,并设置 `name` 属性为该锚点的名称。 ``` <el-anchor :offset="80"> <el-link href="#section1" :title="$t('section1')"></el-link> <el-link href="#section2" :title="$t('section2')"></el-link> <el-link href="#section3" :title="$t('section3')"></el-link> </el-anchor> <!-- 需要设置锚点的位置 --> <div id="section1"> ... </div> <div id="section2"> ... </div> <div id="section3"> ... </div> ``` 2. 在需要跳转到锚点的位置加上 `ElLink` 组件,并设置 `href` 属性为锚点名称。 ``` <el-link href="#section1" :title="$t('section1')"></el-link> <el-link href="#section2" :title="$t('section2')"></el-link> <el-link href="#section3" :title="$t('section3')"></el-link> ``` 通过以上两步操作,就可以实现 ElementUI 的锚点定位功能了。其中,`ElAnchor` 组件的 `offset` 属性可以设置距离顶部的偏移量,以便调整视觉效果。 ### 回答2: ElementUI是一套基于Vue.js框架的UI组件库。在ElementUI中,我们可以使用锚点定位来实现页面内部的快速跳转。锚点定位可以帮助用户快速定位到页面的指定区域,提升页面的用户体验。 在ElementUI中,我们可以通过两种方式实现锚点定位。一种是使用`el-button`组件,设置`type`属性为`text`,然后使用`href`属性来指定锚点的目标位置。例如: ``` <el-button type="text" href="#section1">跳转到Section1</el-button> ``` 上述代码中,当用户点击"跳转到Section1"按钮时,页面会自动滚动到id为"section1"的元素位置。 另一种方式是使用`el-menu`组件和锚点。首先我们需要定义一个`el-menu`组件,设置`mode`属性为"vertical"或"horizontal",然后使用`el-menu-item`组件来添加菜单项,并设置`index`属性为指定的锚点位置。例如: ``` <el-menu mode="vertical"> <el-menu-item index="#section1">Section1</el-menu-item> <el-menu-item index="#section2">Section2</el-menu-item> </el-menu> ``` 上述代码中,当用户点击"Section1"菜单项时,页面会自动滚动到id为"section1"的元素位置。 总之,ElementUI提供了强大的锚点定位功能,使得我们在构建页面时能够方便地实现内部快速跳转。无论是使用`el-button`组件还是`el-menu`组件,都能够满足不同的页面需求。 ### 回答3: Element UI 是一个基于 Vue.js 的组件库,它提供了丰富的UI组件和工具,可以帮助我们快速构建漂亮的网页界面。 在 Element UI 中,锚点定位是一种常见的页面内部导航技术。通过添加锚点链接和目标元素,我们可以实现点击链接后页面自动滚动到相应的位置,方便用户快速定位到自己感兴趣的内容。 在 Element UI 中,使用锚点定位非常简单。首先,我们需要在页面中标识出需要定位的目标元素。在目标元素上添加一个具有唯一标识的 id 属性,例如"target"。接下来,我们可以在页面的其他地方添加锚点链接。在链接元素中使用 <el-link> 组件,并添加一个 href 属性指向目标元素的 id 值,如 href="#target"。这样,当用户点击链接时,页面将会自动滚动到目标元素的位置。 除了基本的锚点定位,Element UI 还提供了一些额外的功能,例如平滑滚动和偏移设置。我们可以使用 <el-anchor> 组件来包裹锚点链接,从而实现平滑滚动效果。我们也可以通过设置 offset 属性来调整滚动的偏移量,确保目标元素的位置更准确。 总之,Element UI 提供了简单易用的锚点定位功能,可以帮助我们实现页面内部导航。通过添加目标元素和锚点链接,我们可以方便地定位到页面中的特定位置,提升用户的浏览体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值