您的位置:首页 > Web前端 > Vue.js

scroll、scrollBy和 scrollTo三种方法定位滚动条位置,以及在vue中使用的注意事项

2018-05-14 16:16 573 查看

在默认情况下,页面加载完后默认滚动在最顶端,有些时候我们需要在页面打开后,定位滚动条的位置,比如,横向和纵向滚动条居中,实现页面滚动的方法有三种:scroll、scrollBy和 scrollTo,三个方法都带两个参数:x(X轴上的偏移量)和y(Y轴上的偏移量)。因此我们只需修改x,y的偏移量来设置滚动条的位置。另外,页面的滚动高度必须在网页加载完成后才能获取到,所以触发事件用onload。方法一:用scroll方法实现滚动条位于最底端。

1
<</CODE>body
 
onload
=
"scroll(0,document.body.scrollHeight) "
>

方法二:用scrollBy方法实现滚动条位于最右端。

1
<</CODE>body
 
onload
=
"scrollBy(document.body.scrollWidth,0) "
>

方法三:用scrollTo方法实现水平滚动条和纵向滚动条均居中。

1
<</CODE>body
 
onload
=
"scrollTo(document.body.scrollWidth/2,document.body.scrollHeight/2)"
>

虽然使用scroll、scrollBy和scrollTo方法的效果一样,但是彼此之间还是有一些区别的。
经测试如果使用某一确定的位置参数时,不需要带单位,例据顶端300像素:


<</CODE>body
 
onload
=
"scroll(0,300) "
>

注意:在vue中使用时,事件触发后,实现页面滚动,需要在nextTick()方法中执行。      例如:     this.$refs.table.style['justify-content'] = 'flex-start'; //flex布局:项目位于容器开头                this.$nextTick( () => { //图片列表栏始终左对齐                    this.$refs.table.scrollBy(document.body.scrollWidth, 0)                                 }) 阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: