【前端学习】 浏览器滚动

设置全局滚动条高度

1.window.scrollTo(0,0) 滚动到页面顶部

 window.scrollTo(x,y)  滚动到页面指定位置

3.scrollTop来设置

document.scrollingElement.scrollTop = 0;

scrollTo()和scrollBy()的区别:

scrollTo()是指定位置,scrollBy()是相对当前滚动条位置滚动。

指定元素显示在视野中

1.获取元素距离文档顶部的距离

offsetTop =document.getElementById().offsetTop;

window.scrollTo(0,offsetTop);

2.锚点  href (还可以跨页面跳转)

<a href="#id"> </a>    (点击后指定元素出现在滚动条顶部

<div id="" > </div>

3.用scrollIntoView()

document.getElementById("").scrollIntoView({ block: "start" || "center" || "end" })

滚动过渡效果 平滑

1. JS实现

window.scrollTo({behavior:"smooth"})

(scrollBy(),scrollIntoView()同用法)

2.CSS实现

html或者* {

scroll-behavior:smooth;    // 全局滚动平滑效果

}

scrollingElement 替代兼容性方法

原来( let scrollHeight = document.documentElement.scrollHeight || document.body.scrollHeight; )

现在可以  let scrollHeight = document.scrollingElement.scrollHeight; 

滚动到页面底部 

window.scrollTo({
  left: 0,
  top: document.scrollingElement.scrollHeight
});

判断浏览器已经滚动到底

window.addEventListener("scroll", () => {
  let {
    scrollTop,
    scrollHeight,
    clientHeight
  } = document.scrollingElement;
  
  // 当前滚动高度 + 视口高度 >= 文档总高度
  if (scrollTop + clientHeight >= scrollHeight) {
    console.log("已到达底部");
  }
});

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值