vue 中滚动条始终定位在底部的方法


Posted in Javascript onSeptember 03, 2018

滚动条定位在底部,首先想到的是,动态修改滚动条到顶部的距离等于div的高度,

代码实现:

var div = document.getElementById('data-list-content')
div.scrollTop = div.scrollHeight

但是问题来了,滚动条并没有到达底部,而是距离底部还有一点距离(一脸懵逼)

估计是动态加载数据时,数据还未加载,滚动条就已经执行,知道原因了,那就实践呗。

第二次尝试,利用vue的watch监控数据的改变,然后动态修改滚动条到顶部的距离

代码实现:

watch: {
 
  'processData': 'scrollToBottom'
 
}
 
scrollToBottom: function () {
 
  var div = document.getElementById('data-list-content')
 
  div.scrollTop = div.scrollHeight
 
}

再次崩溃了,好像没有毛用(陷入苦思)。

这个时候我想到了$nextTick 。

简单的介绍下$nextTick:

Vue 实现响应式并不是数据发生变化之后 DOM 立即变化,而是按一定的策略进行 DOM 的更新。

$nextTick 是在下次 DOM 更新循环结束之后执行延迟回调,在修改数据之后使用 。

既然$nextTick是在下次DOM更新时执行的,不正好符合我们的要求嘛(小激动)。

代码实现:

watch: {
 
  'processData': 'scrollToBottom'
 
}
 
scrollToBottom: function () {
 
  this.$nextTick(() => {
 
    var div = document.getElementById('data-list-content')
 
    div.scrollTop = div.scrollHeight
 
  })
 
}

运行代码,成功了。

以上这篇vue 中滚动条始终定位在底部的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JS写的数字拼图小游戏代码[学习参考]
Oct 29 Javascript
疯狂Jquery第一天(Jquery学习笔记)
May 11 Javascript
JavaScript 盒模型 尺寸深入理解
Dec 31 Javascript
使用jquery的ajax需要注意的地方dataType的设置
Aug 12 Javascript
用jquery统计子菜单的条数示例代码
Oct 18 Javascript
jquery实现从数组移除指定的值
Jun 24 Javascript
jQuery超酷平面式时钟效果代码分享
Mar 30 Javascript
.net MVC+Bootstrap下使用localResizeIMG上传图片
Apr 21 Javascript
Java设计中的Builder模式的介绍
Mar 22 Javascript
使用Angular Cli如何创建Angular私有库详解
Jan 30 Javascript
jQuery模仿ToDoList实现简单的待办事项列表
Dec 30 jQuery
一文秒懂JavaScript构造函数、实例、原型对象以及原型链
Aug 25 Javascript
前后端如何实现登录token拦截校验详解
Sep 03 #Javascript
vue移动端监听滚动条高度的实现方法
Sep 03 #Javascript
vue 纯js监听滚动条到底部的实例讲解
Sep 03 #Javascript
解决vue.js this.$router.push无效的问题
Sep 03 #Javascript
JavaScript封装的常用工具类库bee.js用法详解【经典类库】
Sep 03 #Javascript
基于vue-router 多级路由redirect 重定向的问题
Sep 03 #Javascript
vue-cli 引入jQuery,Bootstrap,popper的方法
Sep 03 #jQuery
You might like
中国的第一台收音机
2021/03/01 无线电
destoon实现调用热门关键字的方法
2014/07/15 PHP
php DES加密算法实例分析
2019/09/18 PHP
php装饰者模式简单应用案例分析
2019/10/23 PHP
DOM 基本方法
2009/07/18 Javascript
JS input文本框禁用右键和复制粘贴功能的代码
2010/04/15 Javascript
jquery下json数组的操作实现代码
2010/08/09 Javascript
自写的一个jQuery圆角插件
2010/10/26 Javascript
用Mootools获得操作索引的两种方法分享
2011/12/12 Javascript
限制textbox或textarea输入字符长度的JS代码
2013/10/16 Javascript
Jquery与Bootstrap实现后台管理页面增删改查功能示例
2017/01/22 Javascript
BootStrap与Select2使用小结
2017/02/17 Javascript
JS优化与惰性载入函数实例分析
2017/04/06 Javascript
JavaScript30 一个月纯 JS 挑战中文指南(英文全集)
2017/07/23 Javascript
浅谈使用React.setState需要注意的三点
2017/12/18 Javascript
在vue项目中引入vue-beauty操作方法
2019/02/11 Javascript
jQuery实现经典的网页3D轮播图封装功能【附源码下载】
2019/02/15 jQuery
layui使用form表单实现post请求页面跳转的方法
2019/09/14 Javascript
layer页面跳转,获取html子节点元素的值方法
2019/09/27 Javascript
js实现树形数据转成扁平数据的方法示例
2020/02/27 Javascript
js构造函数constructor和原型prototype原理与用法实例分析
2020/03/02 Javascript
JavaScript中的各种宽高属性的实现
2020/05/08 Javascript
Python自动生产表情包
2017/03/17 Python
Python生成随机密码的方法
2017/06/16 Python
Python数据分析之双色球基于线性回归算法预测下期中奖结果示例
2018/02/08 Python
Python 使用 docopt 解析json参数文件过程讲解
2019/08/13 Python
python爬虫调度器用法及实例代码
2020/11/30 Python
详解css3中 text-fill-color属性
2019/07/08 HTML / CSS
雅高酒店中国:Accorhotels.com China
2018/03/26 全球购物
汽车装潢店创业计划书范文
2014/02/05 职场文书
销售主管竞聘书
2014/03/31 职场文书
司法局群众路线教育实践活动整改措施思想汇报
2014/10/13 职场文书
一年级语文教学随笔
2015/08/14 职场文书
2016年寒假社会实践活动总结
2015/10/10 职场文书
python爬取网页版QQ空间,生成各类图表
2021/06/02 Python
Django drf请求模块源码解析
2021/06/08 Python