• react hooks数字滚动动画


    js:

    import { createElement, useRef } from 'rax';
    import View from 'rax-view';

    // css
    import './index.css';

    export default function Mod(props) {
    const list = ['7', '6', '0', '5', '3'];
    const textContainerRef = useRef();

    const NumUnit = (num, index) => {
      return (
        setTimeout(() => {
          const moveId = document.getElementById('move' + index);
          moveId.innerHTML = '';
          for (let i = 0; i <= num; i++) {
            moveId.innerHTML += `<Text style="color:red;">${i}</Text>`;
        }

          if (textContainerRef?.current) {
            let sum = 0;
            const height = textContainerRef.current.offsetHeight;
            setInterval(() => {
              if (height * num == height * (sum - 1)) return;
              moveId.style.marginTop = -(height * sum) + 'px';
              moveId.style.transition = '0.3s';
              sum += 1;
            }, 100)
          }
        }, 0)
      )
    }

    const ListView = () => {
      return (
        <View className="textBox">
        {
          list.map((item, index) => {
            return (
              <View className="textContainer" ref={textContainerRef}>
                <View id={'move' + index}>
                {
                  NumUnit(Number(item), index)
                }
                </View>
              </View>
            )
          })
        }
        </View>
      )
    };

    return (
      <View className="mod">
        <ListView />
      </View>
      );
    }
     
    css:
    .textBox{
      display: flex;
      flex-direction: row;
    }
    .textContainer{
       30rpx;
      height: 40rpx;
      border: 1rpx solid red;
      display: flex;
      align-items: center;
      line-height: 40rpx;
      overflow: hidden;
    }
  • 相关阅读:
    第一次作业-准备篇
    个人作业——软件工程实践总结
    团队作业第二次—项目选题报告
    软工实践第三次作业(结对第二次作业)
    软工实践第二次作业(结对第一次作业)
    第一次作业-准备篇
    软工实践|个人作业——软件工程实践总结作业
    软工实践|团队作业第二次—项目选题报告
    软工实践|结对第二次—文献摘要热词统计及进阶需求
    软工实践|结对第一次—原型设计(文献摘要热词统计)
  • 原文地址:https://www.cnblogs.com/sunyang-001/p/15393574.html
Copyright © 2020-2023  润新知