最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue實(shí)現(xiàn)驗(yàn)證碼倒計(jì)時按鈕

 更新時間:2021年08月20日 16:08:22   作者:莫亓  
這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)驗(yàn)證碼倒計(jì)時按鈕,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了vue實(shí)現(xiàn)驗(yàn)證碼倒計(jì)時按鈕的具體代碼,供大家參考,具體內(nèi)容如下

1、點(diǎn)擊“發(fā)送驗(yàn)證碼”按鈕后進(jìn)行邏輯判斷:

▶️ 如果郵箱已輸入且格式正確:按鈕變?yōu)?strong>“已發(fā)送” ,此時為不可點(diǎn)擊狀態(tài) 并開始120s倒計(jì)時;
▶️ 如果郵箱未輸入或格式不正確:顯示錯誤的提示信息。

2、120s倒計(jì)時結(jié)束后按鈕變?yōu)?span style="color: #800000">“重新發(fā)送驗(yàn)證碼”

html:

<div v-bind:class="{ 'text_email': isActive, 'text_tip': isTip }">{{tip}}</div> //出錯提示
<div class="input">
    <i class="ret_icon-email"></i>
    <input 
      type="text" 
      v-model="email" 
      v-bind:class="{ 'input_email0' : hasError }" 
      v-on:click="cancelError" 
      :placeholder="輸入郵箱地址" 
      id="inputEmail"
    />
    <br />
    <input type="text" placeholder="輸入驗(yàn)證碼" class="input_number" />
    <button class="btn_number" v-bind:class="{gray:wait_timer>0}" @click="getCode()">
        <span 
          class="num_green" 
          v-show="showNum" 
          v-bind:class="{num:wait_timer>0}"
        >{{this.wait_timer + "s "}}</span>
        <span 
          class="span_number" 
          v-bind:class="{gray_span:wait_timer>0}"
        >{{ getCodeText() }}</span>
    </button>
    <br />
</div>

js:

data() {
    return {
      tip: "用Email找回密碼",
      isTip: false,
      isActive: true,
      showNum: false,
      wait_timer: false,
      hasError: false,
      email: ""
    }
},
methods: {
    cancelError: function(event) {
      this.hasError = false;
      this.isActive = true;
      this.isTip = false;
      this.tip = "用Email找回密碼";
    },
    getCode: function() {
      if (this.wait_timer > 0) {
        return false;
      }
      if (!this.email) {
        this.hasError = true;
        this.isActive = false;
        this.isTip = true;
        this.tip = "Email不能為空";
        return false;
      }
      if (
        !/^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/.test(
          this.email
        )
      ) {
        this.hasError = true;
        this.isActive = false;
        this.isTip = true;
        this.tip = "Email地址無效";
        return false;
      }
      this.showNum = true;
      this.wait_timer = 120;
      var that = this;
      var timer_interval = setInterval(function() {
        if (that.wait_timer > 0) {
          that.wait_timer--;
        } else {
          clearInterval(timer_interval);
        }
      }, 1000);

      //在這里調(diào)取你獲取驗(yàn)證碼的ajax
    },
    getCodeText: function() {
      if (this.wait_timer > 0) {
        return "已發(fā)送";
      }
      if (this.wait_timer === 0) {
        this.showNum = false;
        return "重新發(fā)送驗(yàn)證碼!";
      }
      if (this.wait_timer === false) {
        return "發(fā)送驗(yàn)證碼!";
      }
    },
}

css:

.ret_icon-email {
  background: url(../../assets/pics/email.svg) no-repeat; //圖片為本地圖片
  width: 20px;
  height: 20px;
  position: absolute;
  top: 12px;
  left: 16px;
}
.input_email0 {
  border: 1px solid rgba(239, 83, 80, 1);
}
.input_number {
  width: 112px;
  height: 44px;
  text-indent: 16px;
  margin-right: 12px;
}
.btn_number {
  width: 154px;
  height: 44px;
  border-radius: 4px;
  box-sizing: border-box;
  border: 1px solid rgba(76, 175, 80, 1);
  line-height: 16px;
  outline: none;
}
.span_number {
  color: rgba(76, 175, 80, 1);
}
.btn_number.gray {
  background: rgba(242, 244, 245, 1);
  border: 1px solid rgba(0, 0, 0, 0.05);
}
.span_number.gray_span {
  color: #9a9c9a;
}
.num_green.num {
  color: rgba(76, 175, 80, 1);
}

效果圖:

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue?table表格中如何控制下拉框的顯示隱藏

    vue?table表格中如何控制下拉框的顯示隱藏

    這篇文章主要介紹了vue?table表格中如何控制下拉框的顯示隱藏問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • 如何以拖拽方式生成Vue用戶界面

    如何以拖拽方式生成Vue用戶界面

    這篇文章主要給大家介紹了關(guān)于如何以拖拽方式生成Vue用戶界面的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • vue 獲取url參數(shù)、get參數(shù)返回?cái)?shù)組的操作

    vue 獲取url參數(shù)、get參數(shù)返回?cái)?shù)組的操作

    這篇文章主要介紹了vue 獲取url參數(shù)、get參數(shù)返回?cái)?shù)組的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • 解決vue同一slot在組件中渲染多次的問題

    解決vue同一slot在組件中渲染多次的問題

    今天小編就為大家分享一篇解決vue同一slot在組件中渲染多次的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • vue實(shí)現(xiàn)h5掃碼的代碼示例

    vue實(shí)現(xiàn)h5掃碼的代碼示例

    html5-qrcode是一個基于JavaScript?輕量級和跨平臺的掃碼插件,允許用戶使用攝像頭掃描二維碼,并且解析為文本或者url,本文給大家介紹了vue實(shí)現(xiàn)h5掃碼,需要的朋友可以參考下
    2024-01-01
  • vue系列之requireJs中引入vue-router的方法

    vue系列之requireJs中引入vue-router的方法

    這篇文章主要介紹了vue系列之requireJs中引入vue-router的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • Vue實(shí)現(xiàn)DateRange選擇器的禁選功能

    Vue實(shí)現(xiàn)DateRange選擇器的禁選功能

    在基于Vue.js構(gòu)建的應(yīng)用程序中,處理日期選擇器是一個常見的需求,尤其是在涉及到日期范圍的選擇時,Vue提供了多種方式來實(shí)現(xiàn)日期選擇器的功能,并允許我們對這些組件進(jìn)行高度定制,本文將深入探討如何在Vue應(yīng)用中實(shí)現(xiàn)DateRange選擇器的禁選功能,需要的朋友可以參考下
    2024-10-10
  • vue3不同環(huán)境下實(shí)現(xiàn)配置代理

    vue3不同環(huán)境下實(shí)現(xiàn)配置代理

    這篇文章主要介紹了vue3不同環(huán)境下實(shí)現(xiàn)配置代理,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • vue里如何主動銷毀keep-alive緩存的組件

    vue里如何主動銷毀keep-alive緩存的組件

    這篇文章主要介紹了vue里如何主動銷毀keep-alive緩存的組件,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • 淺析Vue項(xiàng)目中使用keep-Alive步驟

    淺析Vue項(xiàng)目中使用keep-Alive步驟

    這篇文章簡單給大家介紹了Vue項(xiàng)目中使用keep-Alive步驟,在vue2.1.0之前,實(shí)現(xiàn)方式也給大家作了簡單介紹,感興趣的朋友跟隨腳本之家小編一起看看吧
    2018-07-07

最新評論

商洛市| 怀柔区| 长子县| 安康市| 荔波县| 晴隆县| 张家川| 石家庄市| 禹州市| 隆尧县| 怀安县| 平武县| 黎川县| 无极县| 宕昌县| 会理县| 内江市| 二手房| 马关县| 贺兰县| 普安县| 苏州市| 航空| 连平县| 凤冈县| 衡东县| 方山县| 长沙县| 玛曲县| 开原市| 监利县| 丹凤县| 林口县| 梁山县| 衡南县| 武宣县| 丰镇市| 青田县| 晋江市| 金阳县| 南华县|