You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

登录注册表单滑动异常:需实现Signup表单左侧滑入效果

修复登录注册表单切换动画异常

问题根源

异常核心原因是:.form.active选择器中定义的slide-in动画(从右侧滑入)优先级高于JavaScript动态设置的signup-slide-in-from-left动画,导致从Login切换到Signup时,Signup表单被强制应用默认的右侧滑入动画,而非预期的左侧滑入。

修复步骤

1. 修改CSS,移除默认激活表单动画

找到CSS中.form.active的定义,删除其中的animation: slide-in 0.6s forwards;,仅保留显示控制:

/* Show the active form */
.form.active {
  display: flex;
  /* 移除该行默认动画:animation: slide-in 0.6s forwards; */
}

2. 保留原有JavaScript逻辑(无需修改)

原JS中的动画切换逻辑本身是正确的:

  • 当Login表单激活时,点击Register会触发login-slide-out-to-left(Login左滑消失)和signup-slide-in-from-left(Signup左滑进入)
  • 当Signup表单激活时,点击Login会触发signup-slide-out-to-right(Signup右滑消失)和login-slide-in-from-right(Login右滑进入)

移除默认动画后,JS动态设置的动画即可正常生效,不会被覆盖。

修改后的关键CSS片段

/* Show the active form */
.form.active {
  display: flex;
}

/* 保留其他原有动画定义不变 */
@keyframes slide-in {
  0% { transform: translateX(100%); }
  100% { transform: translateX(0); }
}

@keyframes signup-slide-in-from-left {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(0); }
}

@keyframes login-slide-out-to-left {
  0% { transform: translateX(0); }
  100% { transform: translateX(-100%); }
}

效果验证

  • 从Signup点击Login:Signup右滑消失,Login从右侧滑入(符合预期)
  • 从Login点击Register:Login左滑消失,Signup从左侧滑入(修复后符合需求)

内容的提问来源于stack exchange,提问作者625rk01

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 21:14:52