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 相关文章推荐
php实例分享之实现显示网站运行时间
May 20 Javascript
jquery实现select下拉框美化特效代码分享
Aug 18 Javascript
Js获取图片原始宽高的实现代码
May 17 Javascript
AngularJS在IE下取数据总是缓存问题的解决方法
Aug 05 Javascript
微信小程序 wxapp地图 map详解
Oct 31 Javascript
Bootstrap基本样式学习笔记之表格(2)
Dec 07 Javascript
Easyui笔记2:实现datagrid多行删除的示例代码
Jan 14 Javascript
从零学习node.js之搭建http服务器(二)
Feb 21 Javascript
jQuery插件FusionCharts实现的2D柱状图效果示例【附demo源码下载】
Mar 06 Javascript
JS实现的计数排序与基数排序算法示例
Dec 04 Javascript
javaScript中&quot;==&quot;和&quot;===&quot;的区别详解
Mar 16 Javascript
Vue表单输入绑定的示例代码
Nov 01 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
PHP常用技术文之文件操作和目录操作总结
2014/09/27 PHP
php使用ob_start()实现图片存入变量的方法
2014/11/14 PHP
php pthreads多线程的安装与使用
2016/01/19 PHP
全面解析PHP面向对象的三大特征
2017/06/10 PHP
laravel 修改记住我功能的cookie保存时间的方法
2019/10/14 PHP
Javascript 键盘事件的组合使用实现代码
2012/05/04 Javascript
JS JSON对象转为字符串的简单实现方法
2013/11/18 Javascript
LABjs、RequireJS、SeaJS的区别
2014/03/04 Javascript
javascript中with()方法的语法格式及使用
2014/08/04 Javascript
使用JavaScript 编写简单计算器
2014/11/24 Javascript
JavaScript获取对象在页面中位置坐标的方法
2016/02/03 Javascript
js前端解决跨域问题的8种方案(最新最全)
2016/11/18 Javascript
BootStrap实现响应式布局导航栏折叠隐藏效果(在小屏幕、手机屏幕浏览时自动折叠隐藏)
2016/11/30 Javascript
js实现彩色条纹滚动条效果
2017/03/15 Javascript
Scala解析Json字符串的实例详解
2017/10/11 Javascript
Vue 路由 过渡动效 数据获取方法
2018/07/31 Javascript
JavaScript 高性能数组去重的方法
2018/09/20 Javascript
[01:01:35]Optic vs paiN 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
Python实现简单的可逆加密程序实例
2015/03/05 Python
快速实现基于Python的微信聊天机器人示例代码
2017/03/03 Python
Python数据类型之List列表实例详解
2019/05/08 Python
Python Django 封装分页成通用的模块详解
2019/08/21 Python
pytorch制作自己的LMDB数据操作示例
2019/12/18 Python
python中的socket实现ftp客户端和服务器收发文件及md5加密文件
2020/04/01 Python
如何向scrapy中的spider传递参数的几种方法
2020/11/18 Python
新西兰购物网站:TheMarket NZ
2020/09/19 全球购物
教师评优的个人自我评价分享
2013/09/19 职场文书
九年级历史教学反思
2014/01/27 职场文书
《学会合作》教学反思
2014/04/12 职场文书
优秀少先队工作者事迹材料
2014/05/13 职场文书
优秀班集体先进事迹材料
2014/05/28 职场文书
2015年科学教研组工作总结
2015/07/22 职场文书
pandas中DataFrame检测重复值的实现
2021/05/26 Python
Python虚拟环境virtualenv是如何使用的
2021/06/20 Python
Java 中的 Unsafe 魔法类的作用大全
2021/06/26 Java/Android
mysql中关键词exists的用法实例详解
2022/06/10 MySQL