对scrollTo的一些看法

通常会涉及到这样的交互:

1. 用户下拉浏览当前页面的内容

2. 然后从页面上的链接跳转到其他的页面上,

3. 用户操作返回

在返回的时候,往往会停留在初始浏览的位置。想要返回时停留在页面顶部,可以这样实现: 

   window.scrollTo(0, 0);

作用:把内容滚动到指定的坐标。

语法:

scrollTo(xpos,ypos

参数描述
xpos必需。要在窗口文档显示区左上角显示的文档的 x 坐标。
ypos必需。要在窗口文档显示区左上角显示的文档的 y 坐标。

还有一个应用场景:

1.用户滚动到页面一定的距离后,控制隐藏或者显示某些交互行为

下边代码:当滚动的纵坐标超过700像素时,可做一些相应的操作

了解一下这几个的用法:

document.documentElement.scrollTop:获取当前页面的滚动条纵坐标位置,documentElement代表HTML

pageXOffset 和 pageYOffset:属性返回文档在窗口左上角水平和垂直方向滚动的像素。

 document.body.scrollTop:对应body标签

    window.onscroll = () => {
      let scrollTop =
        document.documentElement.scrollTop ||
        window.pageYOffset ||
        document.body.scrollTop;
      if (scrollTop > 700) {

      } else {
       
      }
    }

 为什么要三个值一起用?原因在于:

.各浏览器下 scrollTop的差异:

IE6/7/8:
可以使用 document.documentElement.scrollTop; 
IE9及以上:
可以使用window.pageYOffset或者document.documentElement.scrollTop 

IE11亲测:


Safari: 
safari: window.pageYOffset 与document.body.scrollTop都可以; 
Firefox: 
火狐等等相对标准些的浏览器就省心多了,直接用window.pageYOffset 或者 document.documentElement.scrollTop 

火狐浏览器下:


Chrome:
谷歌浏览器说是只认识document.documentElement.scrollTop,经测试,window.pageYOffset也是能够支持的

谷歌浏览器下:

有问题,亲自实践比较合适,IE、谷歌、火狐都能够当场试出来。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值