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 相关文章推荐
javascript 设计模式之单体模式 面向对象学习基础
Apr 18 Javascript
jQuery源码分析之Event事件分析
Jun 07 Javascript
23个超流行的jQuery相册插件整理分享
Apr 25 Javascript
如何获取网站icon有哪些可行的方法
Jun 05 Javascript
javascript组合使用构造函数模式和原型模式实例
Jun 04 Javascript
JS闭包与延迟求值用法示例
Dec 22 Javascript
防止重复发送 Ajax 请求
Feb 15 Javascript
JavaScript30 一个月纯 JS 挑战中文指南(英文全集)
Jul 23 Javascript
js 客户端打印html 并且去掉页眉、页脚的实例
Nov 03 Javascript
一次Webpack配置文件的分离实战记录
Nov 30 Javascript
vue axios重复点击取消上一次请求封装的方法
Jun 19 Javascript
JavaScript函数重载操作实例浅析
May 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
PHP 中的批处理的实现
2007/06/14 PHP
php 5.3.5安装memcache注意事项小结
2011/04/12 PHP
体育彩票排列三组选三算法分享
2014/03/07 PHP
ThinkPHP之import方法实例详解
2014/06/20 PHP
php查询ip所在地的方法
2014/12/05 PHP
php生成网页桌面快捷方式
2017/05/05 PHP
CSS+Table图文混排中实现文本自适应图片宽度(超简单+跨所有浏览器)
2009/02/14 Javascript
解决jQuery插件tipswindown与hintbox冲突
2010/11/05 Javascript
解析dom中的children对象数组元素firstChild,lastChild的使用
2013/07/10 Javascript
详解angularJs指令的3种绑定策略
2017/04/13 Javascript
Bootstrap fileinput文件上传预览插件使用详解
2017/05/16 Javascript
AngularJS实现的省市二级联动功能示例【可对选项实现增删】
2017/10/26 Javascript
详解在vue-cli中引用jQuery、bootstrap以及使用sass、less编写css
2017/11/08 jQuery
微信小程序实现验证码获取倒计时效果
2018/02/08 Javascript
详解微信小程序调用支付接口支付
2019/04/28 Javascript
vue2 中二级路由高亮问题及配置方法
2019/06/10 Javascript
Vue-axios-post数据后端接不到问题解决
2020/01/09 Javascript
JS判断数组四种实现方法详解
2020/06/29 Javascript
javascript实现图片轮换动作方法
2020/08/07 Javascript
javascript前端实现多视频上传
2020/12/13 Javascript
《Python之禅》中对于Python编程过程中的一些建议
2015/04/03 Python
Python FTP两个文件夹间的同步实例代码
2018/05/25 Python
django 捕获异常和日志系统过程详解
2019/07/18 Python
python3中sorted函数里cmp参数改变详解
2020/03/12 Python
python图片指定区域替换img.paste函数的使用
2020/04/09 Python
java关于string最常出现的面试题整理
2021/01/18 Python
html5教你做炫酷的碎片式图片切换 (canvas)
2017/07/28 HTML / CSS
台湾深度自由行旅游平台:Tripbaa趣吧
2017/10/10 全球购物
Deux par Deux官方网站:设计师童装
2020/01/03 全球购物
高中毕业自我评价
2014/02/08 职场文书
个性车贴标语
2014/06/24 职场文书
2015年节能减排工作总结
2015/05/14 职场文书
2016年小学优秀班主任事迹材料
2016/02/29 职场文书
表扬信范文
2019/04/22 职场文书
pytorch 运行一段时间后出现GPU OOM的问题
2021/06/02 Python
Python使用pandas导入csv文件内容的示例代码
2022/12/24 Python