2022-07-14 工作记录--JS-实现含滚动条的页面向下滚动一定距离(上)—— scrollTo

JS-实现含滚动条的页面向下滚动一定距离(上)—— scrollTo

一、文档

https://developer.mozilla.org/zh-CN/docs/Web/API/Element/scrollTo

二、前言

有这样一个需求:当点击首页的「升级攻略」按钮时,需自动定位至首页的【任务区域】。

三、实现方式

共有两种方法,分别尝试,找到有效果的那个即可~

  • 注意
    • 若两者都不行,可以尝试加个定时器,以防出现数据未渲染完滴情况哦~
    • 若发现android不兼容滴话,可以查看我的另外一篇文章喔,里面有解决方法喔~
方法一 ⭐️

window.scrollTo(x值, y值);

举例
// 页面向下滚动一定距离,避免页面上方空旷太多
window.scrollTo(0, 70);
方法二 ⭐️

document.body.scrollTo(x值, y值);

举例
import React,{Component} from 'react';

class HomePage extends Component {

  // 定位(滑动)至【首页 - 任务区域】
  toTaskArea = () => {
    const taskHeight = document.querySelector(".detailsRightsAndInterests").offsetHeight;
    document.body.scrollTo(0, taskHeight);
  }

  render() {
    return (
      <div className="homePage">
            <div __examplenotes="按钮-升级攻略" className="update" onClick={this.toTaskArea}></div>
            <div __examplenotes="任务区域" className="detailsRightsAndInterests"></div>
      </div>
    );
  }
}
export default HomePage;

四、scrollTo实现匀速滚动

1、写法 ⭐️
// element是需滚动的dom节点
element.scrollTo({
  left: left值,
  top: top值,
  behavior: 'smooth',
});
2、举例
// 获取到需滚动的dom节点
const element = document.querySelector(".companyIntroduction");

// companyIntroduction盒子里的内部内容匀速向下滚动100px
element.scrollTo({
  left: 0,
  top: 100,
  behavior: 'smooth'
});

请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小呀小萝卜儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值