React + TS + hooks 无缝轮播图移动端

本文介绍如何在React项目中结合TypeScript和hooks实现一个高效的移动端无缝轮播图组件。通过阅读,你将了解到如何在index.tsx文件中进行组件定义,以及如何利用less文件进行样式设置。
摘要由CSDN通过智能技术生成

index.tsx 文件

import { useRef, useEffect } from 'react'
import './index.less'
export default function Swipers() {
    
    const dragBox = useRef<HTMLDivElement | null>(null);
    const getdragBox = () => dragBox.current as HTMLDivElement;

    let disX: number = 0;
    let X: number = 0;
    let page: number = 0;
    let startX: number = 0
    let endX: number = 0
    let pageWidth: number = 0


    const setDrag = (X: number) => {
        return getdragBox().style.transform = `translate3d(${X - pageWidth}px,0px,0px)`
    }
    const leftDrag = () => {
        getdragBox().style.transition = ".3s ease all"
        page++
        X = -page * pageWidth
        getdragBox().ontransitionend = fnE
        setDrag(X)
    }

    const rightDrag = () => {
        getdragBox().style.transition = ".3s ease all"
        page--
       
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值