美文网首页
vue中利用a的href属性配合dom的id实现锚点定位行不通

vue中利用a的href属性配合dom的id实现锚点定位行不通

作者: 落崖惊风yxy | 来源:发表于2017-12-17 17:36 被阅读0次

最近写一个vue的项目,有一个地方需要使用锚点定位。

html中传统锚点定位方法就是利用a标签的href属性值与dom元素的id值实现的,例如:

  <a href="#tiaozhuan1">早年经历</a>
  <h3 id="tiaozhuan1">早年经历</h3>

结果:点击a,跳转到h3。

在这个项目中,落落使用的是vue-router实现的页面跳转。因此,如果按照传统方法进行锚点定位,直接就跳转到了一个新的页面,而不是预期中指定的dom元素。开始的时候落落都要怀疑自己是不是锚点定位的方式错了。后来查阅文档发现,传统的锚点定位方式在使用了vue-router时是行不通的哦。
有解决办法吗?必须滴!
仔细观察不难发现,锚点定位的本质就是修改容器的滚动高度。
所以呢,锚点定位可以模拟成修改页面卷动值,在chrome浏览器中是document.body.scrollTop,在firefox浏览器中是document.documentElement.scrollTop。那么这个值要设置成多少比较合适呢?给一个确切的数字吗?可以是可以,但是如果页面是动态的呢?显然不是最理想的。
js中有一个关于定位的值——offsetTop。
假设obj 是html中的一个控件,obj.offsetTop 指的是 obj 距离上方或上层控件的位置,整型,单位像素。
所以呢,这个卷动值完全可以通过obj.offsetTop来获取。

例:

//#type就是要跳转到的dom元素,#+dom元素的id属性值
<a href="javascript:void(0)" @click="goAnchor('#type')">游戏</a>
methods:{
        goAnchor:function(type) {
        var anchor = this.$el.querySelector("#type")
        // chrome
        document.body.scrollTop = anchor.offsetTop;
        // firefox
        document.documentElement.scrollTop = anchor.offsetTop;
        }   
    }

通过这种方法,落落的问题成功解决了。
在查阅文档时,发现也有其它方法,个人觉得这个更好理解,实现起来更简单。_所以就跟大家分享一下。(#.#)

相关文章

  • vue中利用a的href属性配合dom的id实现锚点定位行不通

    最近写一个vue的项目,有一个地方需要使用锚点定位。 html中传统锚点定位方法就是利用a标签的href属性值与d...

  • href之锚点跳转

    求稳 href之锚点跳转 锚点用 标签,在href属性中写入DIV的id。 标签包裹,href指向要跳转的位置 跳...

  • iview 锚点爬坑 && vue 锚点

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

  • html css js 基础五(锚点)

    利用锚点可以实现点击某个位置,显示它对应的位置的文字或者图片,实现类似于定位的效果,锚点用的是id属性; 这种效果...

  • 前端拾遗

    HTML a中的href属性配置为#xxx的形式时,可以寻找到name=xxx和id=xxx的锚点元素a。非锚点的...

  • Vue中使用锚点定位跳转失效

    在项目中,最简单最直接的锚点定位跳转的方式就是要给点击的a标签的href属性上,加上要跳转的内容对应的id,实现浏...

  • HTML(三)锚点和列表

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

  • HTML核心-a元素

    超链接 hyper reference :通常表示链接跳转 href属性 1.普通连接2.锚点链接 id属性:全局...

  • 回到顶部的几种实现方法

    【1】使用默认链接锚点 添加一个a链接,设置a链接的href属性值为"#top"即可实现 【2】href指向特定的...

  • HTML5基础标签

    ###锚点定位 1.使用“a href=”#id名>“链接文本" 创建链接文本。 2.使用相应的id名标注跳转目标...

网友评论

      本文标题:vue中利用a的href属性配合dom的id实现锚点定位行不通

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