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 相关文章推荐
解决extjs在firefox中关闭窗口再打开后iframe中js函数访问不到的问题
Nov 06 Javascript
Javascript load Page,load css,load js实现代码
Mar 31 Javascript
菜鸟javascript基础资料整理3 正则
Dec 06 Javascript
js 事件处理函数间的Event物件是否全等
Apr 08 Javascript
jquery的ajax异步请求接收返回json数据实例
Jun 16 Javascript
AngularJS基础学习笔记之控制器
May 10 Javascript
JS简单判断滚动条的滚动方向实现方法
Apr 28 Javascript
利用node.js写一个爬取知乎妹纸图的小爬虫
May 03 Javascript
bootstrap timepicker在angular中取值并转化为时间戳
Jun 13 Javascript
jQuery实现可兼容IE6的遮罩功能详解
Sep 19 jQuery
浅析Vue.js中v-bind v-model的使用和区别
Dec 04 Javascript
vue项目中仿element-ui弹框效果的实例代码
Apr 22 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
一些星际专用术语解释
2020/03/04 星际争霸
php实现数字补零的方法总结
2018/09/12 PHP
JSON.parse 解析字符串出错的解决方法
2010/07/08 Javascript
JS打开图片另存为对话框实现代码
2012/12/26 Javascript
jquery自定义属性(类型/属性值)
2013/05/21 Javascript
jquery js 重置表单 reset()具体实现代码
2013/08/05 Javascript
javascript跨域的4种方法和原理详解
2014/04/08 Javascript
window.location.href的用法(动态输出跳转)
2014/08/09 Javascript
thinkphp 表名 大小写 窍门
2015/02/01 Javascript
BootStrap中的table实现数据填充与分页应用小结
2016/05/26 Javascript
基于Javascript倒计时效果
2016/12/22 Javascript
webpack vue项目开发环境局域网访问方法
2018/03/20 Javascript
Javascript中弹窗confirm与prompt的区别
2018/10/26 Javascript
微信小程序使用swiper组件实现层叠轮播图
2018/11/04 Javascript
vue的列表交错过渡实现代码示例
2019/05/05 Javascript
js打开word文档预览操作示例【不是下载】
2019/05/23 Javascript
js实现自动播放匀速轮播图
2020/02/06 Javascript
layui实现显示数据表格、搜索和修改功能示例
2020/06/03 Javascript
[01:09:24]Ti4开幕式
2014/07/19 DOTA
理解python正则表达式
2016/01/15 Python
python嵌套函数使用外部函数变量的方法(Python2和Python3)
2016/01/31 Python
python 实时遍历日志文件
2016/04/12 Python
Python读取txt内容写入xls格式excel中的方法
2018/10/11 Python
python对视频画框标记后保存的方法
2018/12/07 Python
Python3.4解释器用法简单示例
2019/03/22 Python
Django中的静态文件管理过程解析
2019/08/01 Python
Numpy的简单用法小结
2019/08/28 Python
python实现QQ邮箱发送邮件
2020/03/06 Python
使用python从三个角度解决josephus问题的方法
2020/03/27 Python
150行python代码实现贪吃蛇游戏
2020/04/24 Python
不同浏览器对CSS3和HTML5的支持状况
2009/10/31 HTML / CSS
美国大尺码女装零售商:TORRID
2016/10/01 全球购物
Bergfreunde丹麦:登山装备网上零售商
2017/02/26 全球购物
2014年教研活动总结范文
2014/04/26 职场文书
2014年煤矿安全工作总结
2014/12/04 职场文书
八年级作文之感恩
2019/11/22 职场文书