vue中锚点的三种方法


Posted in Javascript onJuly 06, 2018

第一种:

    router.js中添加

mode: 'history',
       srcollBehavior(to,from,savedPosition){
        if(to.hash){
      return {
    selector:to.hash
     }
      }
     }

    组件:   

<template>
<div>
<ul class="list">
<li><a href="#1" rel="external nofollow" >星期1</a></li>
<li><a href="#2" rel="external nofollow" >星期2</a></li>
<li><a href="#3" rel="external nofollow" >星期3</a></li>
<li><a href="#4" rel="external nofollow" >星期4</a></li>
<li><a href="#5" rel="external nofollow" >星期5</a></li>
<li><a href="#6" rel="external nofollow" >星期6</a></li>
<li><a href="#7" rel="external nofollow" >星期7</a></li>
</ul>
<div class="main_con" id="1">11111111111111111111111111111111</div>
<div class="main_con" id="2">22222222222222222222222222222222222</div>
<div class="main_con" id="3">33333333333333333333333333333333333333</div>
<div class="main_con" id="4">444444444444444444444444444444444444444</div>
<div class="main_con" id="5">555555555555555555555555555555555555555</div>
<div class="main_con" id="6">666666666666666666666666666666666666666</div>
<div class="main_con" id="7">7777777777777777777777777777777777777777</div>
</div>
</template>
<script>
export default {
data(){
return {
}
}
}
</script>
<style>
.list{
width: 100%;
height: 50px;
}
li{
width: 11%;
height: 50px;
line-height: 50px;
text-align: center;
border: 1px solid #ccc;
color: #ff6c00;
float: left;
list-style: none!important;
}
.main_con{
width: 100%;
height: 200px;
border: 1px solid #ccc;
line-height: 200px;
text-align: center;
color: blue;
}
</style>

第二种:

    写一个方法  组件

<template>
 <div>
  <div><a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" @click="goAnchor('#anchor-'+index)" v-for="index in 20"> {{index}} </a></div>
  <div :id="'anchor-'+index" class="item" v-for="index in 20">{{index}}</div>
</div>
  </template>
<script>
export default{
data(){
return {
}
},
methods: {
  goAnchor(selector) {
     var anchor = this.$el.querySelector(selector)
     document.documentElement.scrollTop = anchor.offsetTop
  }
 }
}
</script>
<style>
.item{
width: 100%;
height: 200px;
line-height: 200px;
text-align: center;
}
</style>

第三种: 自定义指令

<template>
<div>
  <div><a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" v-anchor="index" v-for="index in 20"> {{index}} </a></div>
  <div :id="'anchor-'+index" class="item" v-for="index in 20" >{{index}}</div>
</div>
</template>
<script>
export default{
data(){
return {
}
}
}
</script>
<style>
.item{
width: 100%;
height: 200px;
line-height: 200px;
text-align: center;
}
</style>

main.js  定义全局指令  方便其他地方复用

Vue.directive('anchor',{
inserted : function(el,binding){
el.onclick = function(){
  document.documentElement.scrollTop = $('#anchor-'+binding.value).offset().top
}
}
})

总结

以上所述是小编给大家介绍的vue中锚点的三种方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
基于MooTools的很有创意的滚动条时钟动画
Nov 14 Javascript
jQuery:delegate中select()不起作用的解决方法(实例讲解)
Jan 26 Javascript
判断复选框是否被选中的两种方法
Jun 04 Javascript
jQuery 选择器(61种)整理总结
Sep 26 Javascript
JS实现针对给定时间的倒计时功能示例
Apr 11 Javascript
vue.js实例对象+组件树的详细介绍
Oct 20 Javascript
node作为中间服务层如何发送请求(发送请求的实现方法详解)
Jan 02 Javascript
详解webpack4多入口、多页面项目构建案例
May 25 Javascript
详解js静态检查工具eslint配置文件
Nov 23 Javascript
JavaScript中判断为整数的多种方式及保留两位小数的方法
Sep 09 Javascript
基于vue实现微博三方登录流程解析
Nov 04 Javascript
浅谈 JavaScript 沙箱Sandbox
Nov 02 Javascript
Angularjs中date过滤器失效的问题及解决方法
Jul 06 #Javascript
详解Angular如何正确的操作DOM
Jul 06 #Javascript
微信小程序WebSocket实现聊天对话功能
Jul 06 #Javascript
JavaScript实现的简单Tab点击切换功能示例
Jul 06 #Javascript
vue结合axios与后端进行ajax交互的方法
Jul 06 #Javascript
jQuery实现仿京东防抖动菜单效果示例
Jul 06 #jQuery
vue.js动画中的js钩子函数的实现
Jul 06 #Javascript
You might like
基于mysql的bbs设计(四)
2006/10/09 PHP
创建配置文件 用PHP写出自己的BLOG系统 2
2010/04/12 PHP
php中socket通信机制实例详解
2015/01/03 PHP
PHP中应该避免使用同名变量(拆分临时变量)
2015/04/03 PHP
深入理解PHP原理之执行周期分析
2016/06/01 PHP
php源码的安装方法和实例
2019/09/26 PHP
Apache+PHP+MySQL搭建PHP开发环境图文教程
2020/08/06 PHP
jQuery1.3.2 升级到jQuery1.4.4需要修改的地方
2011/01/06 Javascript
JS中Iframe之间传值的方法
2013/03/11 Javascript
jquery右下角自动弹出可关闭的广告层
2015/05/08 Javascript
基于jQuery实现中英文切换导航条效果
2016/09/18 Javascript
canvas实现弧形可拖动进度条效果
2017/05/11 Javascript
Bootstrap table学习笔记(2) 前后端分页模糊查询
2017/05/18 Javascript
深入理解Angular.JS中的Scope继承
2017/06/04 Javascript
20行JS代码实现网页刮刮乐效果
2017/06/23 Javascript
JavaScript全屏和退出全屏事件总结(附代码)
2017/08/17 Javascript
关于vue的语法规则检测报错问题的解决
2018/05/21 Javascript
layui对工具条进行选择性的显示方法
2019/09/19 Javascript
深入理解python中的闭包和装饰器
2016/06/12 Python
一个可以套路别人的python小程序实例代码
2019/04/09 Python
python 字典 setdefault()和get()方法比较详解
2019/08/07 Python
python编写俄罗斯方块
2020/03/13 Python
keras自定义回调函数查看训练的loss和accuracy方式
2020/05/23 Python
如何在python中判断变量的类型
2020/07/29 Python
Python 添加文件注释和函数注释操作
2020/08/09 Python
如何快速理解python的垃圾回收机制
2020/09/01 Python
python 实现全球IP归属地查询工具
2020/12/18 Python
美国农场鲜花速递:The Bouqs
2018/07/13 全球购物
Vertbaudet西班牙网上商店:婴儿服装、童装、母婴用品和儿童家具
2019/10/16 全球购物
让世界充满爱演讲稿
2014/05/24 职场文书
庆六一活动总结
2014/08/29 职场文书
财务人员岗位职责
2015/02/03 职场文书
数学考试作弊检讨书300字
2015/02/16 职场文书
通知的写法
2015/04/23 职场文书
2015年房产销售工作总结范文
2015/05/22 职场文书
《颐和园》教学反思
2016/02/19 职场文书