美文网首页
Vue锚点链接

Vue锚点链接

作者: 坏丶毛病 | 来源:发表于2020-09-11 09:31 被阅读0次

锚点链接是我们在开发中经常会用到的一个技术点,常见的常见有,页面内容过多,而我们不希望拿鼠标一直来回滚动,就需要用到锚点链接,以 " 目录 " 的方式来进行对应的跳转。

而在常见的项目中,锚点链接的使用方法是通过a标签的href属性跳转到某一个元素的id,来找到对应元素的位置,实现效果

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style type="text/css">
        *{
            margin: 0;
            padding: 0;
        }
        html,body{
            width: 100%;
            height: 100%;
        }
        .left{
            width: 200px;
            height: 100%;
            float: left;
            border-right: 1px solid black;
        }
        a{
            display: block;
            color: #f60;
            text-decoration: none;
            font-size: 20px;
            text-align: center;
            margin-bottom: 10px;
        }
        .right{
            width: calc(100% - 201px);
            height: 100%;
            float: left;
            overflow-x: hidden;
            overflow-y: auto;
        }
    </style>
</head>
<body>
    <div class="left">
        <!-- 锚点的名称 -->
        <a href="#box1" >位置一</a>
        <a href="#box2" >位置二</a>
    </div>

    <div class="right">

        <div style="height:1000px;" id="box1"> 
            <h1>位置一</h1>
        </div>

        <div style="height:1000px;" id="box2"> 
            <h1>位置二</h1>
        </div>

    </div>
</body>
</html>
效果图: image

大家可能注意到url地址栏的变化,每次点击锚点会在地址栏后面加对应的地址。

但是vue是基于路由的,通过切换地址,这样就会影响vue的路由跳转。

我之前是弹框里有锚点链接,然后关闭弹窗,地址栏变化后,其他页面就是空的,除非切换成history模式。

但是history模式,打包部署又会出现一些其他问题。

也可能是我理解的不对( -.- 笑哭)

那么尝试其他方法时,找到了另一个接口

scrollIntoView()

这里通过获取dom元素,然后通过 scrollIntoView()让当前元素滚动到浏览器窗口的可视区域内。

document.getElementById('box1').scrollIntoView();

这样只要通过vue的点击事件,点击后匹配到对应元素进行滚动即可。

这里附上官方介绍:

Element.scrollIntoView() - Web API 接口参考

好了,以上就解决了vue中锚点链接的问题。

如有问题,请指出,接受批评。

相关文章

  • Vue锚点链接

    锚点链接是我们在开发中经常会用到的一个技术点,常见的常见有,页面内容过多,而我们不希望拿鼠标一直来回滚动,就需要用...

  • Vue添加锚点(兼容直接输入地址时scrollBehavior不

    Vue添加锚点有很多方法,今天我们来说vue-router提供的一种 vue-router官网说明锚点就是在链接中...

  • vue项目实现锚点链接

    由于在网上百度到的相关文章在实际项目中使用未起作用,特此记录不起作用的方式:https://www.jianshu...

  • 前端学习笔记一一HTML如何添加锚点

    页面添加锚点的三种方式 HTML中的链接,正确的说法应该称作"锚点",它命名锚点链接(也叫书签链接)常常用于那些内...

  • HTML基础学习

    1.1 锚点定位 (难点) 通过创建锚点链接,用户能够快速定位到目标内容。 创建锚点链接分为两步: 1.2 bas...

  • HTML(三)锚点和列表

    锚点标签 .... 作用:同一个文档中创建指向该锚(位置)的链接 定义是用的name属性,锚点链接使用href属性...

  • vue 锚点

    在某些场景中,我们通常使用锚点,进行定位,跳转我们需要的页面 方法一a 标签的锚点跳转 如果在同一页面跳转,该方法...

  • 锚点链接实现

    用到onpagescroll方法获取页面的滚动高度和获取元素距离页面顶部的高度。

  • 三、HTML 图片路径、链接、锚点

    1. 图片路径 2. 链接 链接 锚点

  • iview 锚点爬坑 && vue 锚点

    在vue中实现锚点定位效果 iview的锚点 原生锚点实现 iview爬坑点 且需要把滚动容器的id或者class...

网友评论

      本文标题:Vue锚点链接

      本文链接:https://www.haomeiwen.com/subject/gxjvektx.html