react 中实现全屏滚动效果

  • 首先先安装插件
npm install @fullpage/react-fullpage
  • 直接上代码!!!!!
 const anchors = ["firstPage", "secondPage", "thirdPage"];
  const MySection = props => {
    return (
      <div className="section">
        <h3 style={{ textAlign: "center", fontSize: "66px", color: "#fff" }}>{props.content}</h3>
      </div>
    );
  }
  1.  通过continuouseVertical 来进行控制循环的方向
  2. loopHorizontal和continuouseVertical循环恰恰相反
 return (
    <div>
      <ReactFullpage
        scrollingSpeed={700} //切换的秒数
        continuousVertical={true} //是否循环 纵向循环
        anchors={anchors} // 每一部分的锚点, 就是url#后面的部分
        sectionsColor={["#282c34", "#ff5f45", "#0798ec"]} // 每一个部分你的背景色
        onLeave={(origin, destination, direction) => {
          console.log("onLeave event", { origin, destination, direction });
        }} // 离开某一部分你的回调, 参数分别表示从哪里开 去哪里 方向. 前两者是自定义类型nn, 方向是up或down
        render={({ state, fullpageApi }) => {
          console.log("render prop change", state, fullpageApi);
          return (
            <div>
              <MySection content={"page 1"} />
              <MySection content={"page 2"} />
              <MySection content={"page 3"} />
            </div>
          );
        }}
      />
    </div>
  )
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
可以使用useState和useEffect两个Hooks来实现滚动数字效果。 首先,我们需要定义一个state来保存当前数字的值,以及一个目标数字的值。然后,使用useEffect监听目标数字的变化,当目标数字变化时,启动一个计时器,每隔一定时间更新当前数字的值,直到当前数字等于目标数字。 下面是一个简单的实现示例: ```jsx import React, { useState, useEffect } from 'react'; const ScrollNumber = ({ number }) => { const [currentNumber, setCurrentNumber] = useState(0); const [targetNumber, setTargetNumber] = useState(number); useEffect(() => { setTargetNumber(number); }, [number]); useEffect(() => { let timer = null; if (currentNumber < targetNumber) { timer = setInterval(() => { setCurrentNumber(currentNumber + 1); }, 50); } return () => clearInterval(timer); }, [currentNumber, targetNumber]); return ( <span>{currentNumber.toLocaleString()}</span> ); } export default ScrollNumber; ``` 在上面的示例,我们定义了一个ScrollNumber组件,接受一个number属性作为目标数字,当number变化时,使用useEffect更新targetNumber的值。然后,使用第二个useEffect监听currentNumber和targetNumber的变化,如果currentNumber小于targetNumber,启动一个计时器,每隔50ms更新一次currentNumber的值,直到currentNumber等于targetNumber。最后,返回一个包含当前数字的span元素。 使用方式如下: ```jsx import React from 'react'; import ScrollNumber from './ScrollNumber'; const App = () => { return ( <div> <h1>ScrollNumber Demo</h1> <ScrollNumber number={123456789} /> </div> ); } export default App; ``` 这样就可以在页面上看到一个滚动数字效果了。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

来都来了_

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

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

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

打赏作者

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

抵扣说明:

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

余额充值