react弹窗从屏幕左侧滑进滑出效果的实现

react弹窗从屏幕左侧滑进滑出效果的实现


一、实现原理:
首先在页面上写一个弹窗,弹窗样式设置
transform: translateX(-80vw);
transition: all 0.3s;(代表动画执行时间为0.3s)
其中 -80vw 是弹窗自身的宽度,使用translateX使弹窗向左移动自身宽度的距离,实现弹窗的隐藏
当弹窗需要显示的时候
设置transform: translateX(0);
使弹窗向右移动自身的宽度,实现弹窗的显示

初次加载页面的时候设置state的visible为false,弹窗的css样式为
transform: translateX(-80vw);来隐藏弹窗

点击弹窗展示的按钮的时候设置state的visible为true,弹窗的css样式为:
transform: translateX(0);来展示弹窗
点击弹窗上的关闭弹窗按钮时候设置state的visible为false,弹窗的css样式为
transform: translateX(-80vw);来隐藏弹窗

二、代码实现

import React, {
    Component } from 'react'
import cs from './index.module.scss'

export default class App extends Component {
   
  state = {
   
    visible: false // 弹窗是否可见,默认不可见,点击按钮后弹窗出现
  }
  render() {
   
    return (
      <div className={
   cs.page}>
        <div className
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值