如何防止初始渲染时出现动画?

乔纳森·蒂巴罗夫斯基:

我有一个具有基于组件状态的动态类名的组件。菜单组件的初始状态是false这样,因此当我加载网站时会触发退出动画。我试图在初始渲染时不播放退出动画,而是试图仅在用户单击菜单时触发动画。

@keyframes menuEnter {
    from {
        transform: translateY(-100vh);
    }
    to {
        transform: translateY(0);
    }
}

@keyframes menuExit {
    from {
        transform: translateY(0);
    } 
    to {
        transform: translateY(-100vh);
    }
}
const [showMenu, setShowMenu] = useState(false)
<div className={`menuContainer ${showMenu ? `menuEnter` : 'menuExit'}`} id='menu'>

我正在尝试退出退出动画,因为在初始渲染时播放退出动画没有意义。

状态发生改变的onClick,当状态true的onClick其设置为false当状态false的的onClick其设置为true

Seyi Oluwadare:

javascript还可以,需要修复的是CSS。除了使用动画之外,还可以使用过渡,因此菜单不会在渲染时从打开变为关闭。

请尝试以下操作:

向您的菜单ID添加过渡:

#menu {
    transition: 0.3s ease-out;
}

然后通过在菜单打开和关闭类之间切换来更改此值:

 .menuEnter {
    transform: translateY(0);
}

 .menuExit {
    transform: translateY(-100vh);
}

这样,当组件渲染时,菜单不会从一种动画状态转到另一种动画状态,而是保持关闭状态。

PS:出于性能考虑,请考虑使用3d变换。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

防止加载 React 组件时出现动画

使用动画时如何防止溢出

Gatsby服务-初始渲染时出现画布问题

如何防止图像再次出现(css动画)

如何在每次重新渲染组件时添加动画

使用 redux/reselect 时如何防止组件重新渲染?

尝试在画布中渲染内容时如何防止毛刺?

有角度的。有没有办法在初始渲染时跳过输入动画?

更改浮动方向时如何防止CSS动画停止?

当父 NSToolbar 隐藏/显示时,如何防止 NSImageView 丢失动画?

更新状态时如何防止反应弹簧动画?

ReactJs:如何在渲染组件时传递初始状态?

用户未登录时如何防止服务初始化?

执行测试时如何防止初始化脚本运行?

显示UIWebView时如何防止初始白色闪烁?

Spring Boot重启时如何防止db初始化

如何防止 MapKit 在打开时初始缩放?

当 useEffect 仅在渲染后触发时,如何防止渲染中的非法状态?

当挂钩的初始值是数据库的查询结果时,出现“比上次渲染期间渲染的挂钩更多”错误

如何删除在Flutter中完成ListView滚动时出现的动画?

使用sftp时如何防止出现“ Last Login:”消息?

AngularJS:加载时如何防止页面中出现“代码闪烁”

Google 表格 - 如何在模拟数据时防止出现负值?

别名git命令时如何防止出现“致命”错误输出

使用eval()时如何防止出现大结果的错误?

如何防止在执行代码时弹出框出现?

更改分辨率时,如何防止棋盘格出现?

如何防止游戏时突然出现音频峰值?

Haproxy + netty:如何防止连接重置时出现异常?