Vue+element+Css(Less)实现登录注册页面滑动切换效果

技术版本:Vue 2.6.14,element-ui 2.15.10,Node.js 16.13.2,vue-cli 5.0.0等

运行环境:VSCode

实现效果:实现了背景和盒子的同步左右滑动效果。

 实现过程:

HTML部分

两个按钮(去注册、去登录)绑定了两个点击事件,其中play()为播放动画方法。

表单部分使用了element表单元素,以及el-button等。

主体盒子:(该部分为屏幕中间的大盒子部分,及包含去登录、去注册等内容的大盒子)

<div class="box">
      <div class="left" v-show="left_show">
        <div>
          <p>Welcome</p>
          <p>仓储物流安全存储系统</p>
        </div>
        <el-button
          class="button"
          round
          size="small"
          @click="toRegister(), play()"
          >去注册</el-button
        >
      </div>
      <div class="right" v-show="right_show">
        <div>
          <p>Welcome</p>
          <p>仓储物流安全存储系统</p>
        </div>
        <el-button class="button" round size="small" @click="toLogin(), play()"
          >去登录</el-button
        >
      </div>
    </div>

表单部分:(此部分包含了登录和注册表单部分,动态绑定了三个类名move、back、newPosition,这三个类的作用在下面css部分进行讲解)

<div
      class="form-box"
      :class="{ move: isMove, back: isBack, newPosition: isNew }"
      :style="{ left: nowLeft + '%' }"
    >
      <transition name="el-fade-in">
        <el-form
          :model="registerForm"
          status-icon
          :rules="rules"
          ref="registerForm"
          label-width="100px"
          class="demo-ruleForm"
          size="small"
        >
          <div class="right-form" v-show="login_show">
            <el-form-item label="账 号" prop="lPhone">
              <el-input
                ref="inputPhone"
                type="text"
                v-model="registerForm.lPhone"
                autocomplete="off"
                placeholder="请输入手机号"
                clearable
              ></el-input>
            </el-form-item>
            <el-form-item label="密 码" prop="lPassword">
              <el-input
                type="password"
                v-model="registerForm.lPassword"
                autocomplete="off"
                placeholder="请输入密码"
                show-password
              ></el-input>
            </el-form-item>
            <el-form-item>
              <el-button
                type="primary"
                @click="submitLogin()"
                size="small"
                round
                >登录</el-button
              >
            </el-form-item>
          </div>
          <div class="left-form" v-show="!login_show">
            <el-form-item label="昵 称" prop="name">
              <el-input
                ref="inputName"
                type="text"
                v-model="registerForm.name"
                autocomplete="off"
                placeholder="请输入昵称"
                clearable
              ></el-input>
            </el-form-item>
            <el-form-item label="手机号" prop="phone">
              <el-input
                type="tel"
                v-model="registerForm.phone"
                autocomplete="off"
                placeholder="请输入手机号"
                clearable
              ></el-input>
            </el-form-item>
            <el-form-item label="密 码" prop="password">
             
  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力敲代码呀~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值