[vue]——登录页面交互

news/2024/7/19 13:02:12 标签: js, vue

面板切换

登录页面板一般会选择多种登录方式,短信登录或者密码登录,这两种登录方式会通过点击来实现显隐。



在不使用框架的情况下,实现两哥面板相互显隐,就要用到样式中的display,在初始化的时候给短信登录添加一个计算属性

<a href="javascript:;" :class="{on: loginWay}" @click="loginWay =true">短信登录</a>
<a href="javascript:;" :class="{on: !loginWay}" @click="loginWay =false">密码登录</a>

 <div :class="{on: loginWay}"></div>
 <div :class="{on: !loginWay}"></div>

data() {
    return {
      loginWay: true,
    }
  }

&.on { display: block;}

默认情况下两个div的display都是none,初始化之后给其中一个添加上on的类名,当点击标签之后就会切换display属性实现面板的切换功能。


倒计时

当输入11位手机号之后验证码点击就要放开,此时点击之后就要实现倒计时的功能,然后会向后端发送ajax请求来获取手机验证码

实现的逻辑很简单,就是使用setInterval来实现

  methods: {
    getCode () {
      if (!this.computeTime) {
        // 启动倒计时
        this.computeTime = 30
        const intervalId = setInterval(() => {
          this.computeTime--
          if (this.computeTime <= 0) {
            clearInterval(intervalId)
          }
        }, 1000)
        // 发送ajax请求
      }
    }
  }

在data中添加computeTime变量,默认值为0,在点击获取验证码之后要先判断当前是否正在进行倒计时,这有几种方法,一种是判断当前倒计时是否为0,另一种就是判断setInterval的返回值是否存在。然后在循环计时器中递减,当减到0时就要清除循环定时器。


http://www.niftyadmin.cn/n/1834318.html

相关文章

Client Hypervisor,看上去很美!

关注虚拟化平台的朋友&#xff0c;近年来一定看到很多关于Hypervisor的宣传介绍&#xff0c;大多数资料中介绍的Hypervisor都是指服务器虚拟化的hypervisor&#xff0c;如VMware ESXi,Microsoft Hyper-v等&#xff0c;看到身边有朋友偶尔提起Client Hypervisor&#xff0c;对于…

java_时间戳与Date_相互转化相关函数【转】

原文地址&#xff1a;http://blog.csdn.net/shinn613/article/details/6293956 一.日期转换为时间戳 public long getTimestamp() throws ParseException{Date date1 new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").parse("2009/12/11 00:00:00");Date dat…

检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败解决方案...

第一种方法测试过可用&#xff1a;地址&#xff1a;http://download.csdn.net/detail/itjjfamily/8853509下面是第二种&#xff1a;.NET导出Excel遇到的80070005错误的解决方法: 检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046}的组件时失败&#xff0c;原…

png图片 透明区域如何 让其不响应鼠标事件?

修改->分离&#xff08;ctrlB&#xff09;打散的还有透明区域,和位图的效果是一样的 你可以在cs5里把png图转成矢量图在做成movieclip做按钮 打散并没有转换成矢量图。 修改->位图->转换位图为矢量图 数值越小越好 选平滑 要么抠出来 要么单独做个按钮 也可以在cs工…

[vue]——vue.set()

当data对象中的某个值需要更新&#xff0c;但更新之前是没有值的状态&#xff0c;如果此时只是简单的修改内部的值&#xff0c;就会发现页面上并不会渲染更改后的值。 原因 原因就是添加新的值之后并不会将添加的值双向绑定&#xff0c;此时虽然更新了&#xff0c;但是页面并…

poj - 2240 Arbitrage

同样是套汇问题&#xff0c;这题要简单些&#xff0c;我为了多练&#xff0c;换成Floyd算法了。Floyd最大的优点就是写起来简单。 1 #include <stdio.h>2 #include <string.h>3 int m,n,cas1;4 char name[35][40];5 double rate[30][30];6 int find(char *s)7 {8 …

JDK转码

JDK的本地安装路径&#xff1a;D:\Program Files\Java\jdk1.6.0_14\bin\native2ascii.exe 转换输入字符串&#xff1a;native2ascii 年龄信息输入不正确回车 转换文件&#xff1a;native2ascii test.txt test.properties回车转载于:https://blog.51cto.com/liuxiuqing/799410

快速搭建微信小程序

基于uniapp和vue来快速搭建小程序框架 安装cli $ npm install -g vue/cli创建项目 $ vue create -p dcloud/uni-preset-vue my-project安装依赖 如果使用sass就需要安装sass依赖 $ npm install sass-loader node-sass运行项目 npm run dev:mp-weixin这时项目框架已经搭建…