前端开发:在vue中实现按钮倒计时功能

简介: 在vue中开发中,关于计时器的使用也是比较常见的知识点,如基于移动端的短信60秒倒计时按钮、阅读协议40秒等实际需求,很常见的需求也不复杂,主要是有些细节需要注意。那么本篇博文就来分享一下关于vue中实现倒计时功能的方法,方便查阅使用,如有问题请指正。

前言

在vue中开发中,关于计时器的使用也是比较常见的知识点,如基于移动端的短信60秒倒计时按钮、阅读协议40秒等实际需求,很常见的需求也不复杂,主要是有些细节需要注意。那么本篇博文就来分享一下关于vue中实现倒计时功能的方法,方便查阅使用,如有问题请指正。

使用场景

在前端开发中基于移动端的短信验证码发送60s倒计时使用,用户协议阅读30s倒计时提示等等。

核心原理

主要要处理的是倒计时按钮提示的数字以及倒计时结束之后的提示文字,以及计时器来进行倒计时使用,以及标签层面和js中按钮触发的点击事件处理。

示例实现代码

本篇博文以用户协议阅读提示30s倒计时提示来讲解,具体的核心代码如下所示。

1、标签里面的代码

<!-- 提示框-->
    <van-dialog
      class="instruction-dialog" v-model="instructionShow"
      title=“用户协议须知"   confirm-button-color="#ee0a24"
      :showConfirmButton="false" >
      <div class="instruction-dialog-content">
    协议提示内容
      </div>

      <div class="dialog-button-bg">
        <div  v-if="totalTime > 0"
          style="margin-top: 10px; width: 50%;margin-bottom: 10px;display: inline-block;
            height: 34px;vertical-align: middle;line-height: 34px;background: rgb(143, 142, 142);
            color: white; border-radius: 4px;font-size: 14px;">
          {{ confirmContent }}
        </div>

        <van-button
          v-else
          type="info"
          style=" width: 50%;height: 34px;margin-bottom: 10px; margin-top: 10px; border-radius: 4px; "
          @click="closeClick1"
          >关闭</van-button
        >
      </div>
    </van-dialog>

2、js中的代码

data() {
        return {
            confirmContent: "确认", //倒计时之后按钮提示文字
            totalTime: 30, //倒计时30s
        }
 },
 mounted() {
    this.verificationCode(); //进入当前界面就需要调用倒计时方法
}
//…此处省略无关代码
 methods: {
    //倒计时方法
    verificationCode() {
      this.confirmContent = this.totalTime + "s后可关闭";
      let clock = window.setInterval(() => {
        this.totalTime--;
        this.confirmContent = this.totalTime + "s后可关闭";
        if (this.totalTime <= 0) {
          clearInterval(clock);
        }
      }, 1000);
    },
    //提示框关闭按钮
    closeClick1() {
      this.instructionShow = false;
    },
}

3、css样式里面的代码

<style scoped>
/**弹框 */
.instruction-dialog {
  margin-top: 10px;
  margin-bottom: 15px;
  height: 80%;
}
.instruction-dialog-content {
  color: #323232;
  padding: 15px;
  font-size: 11px;
}

.dialog-button-bg {
  background: white;
  text-align: center;
  position: fixed;
  left: 0px;
  right: 0px;
  bottom: 0px;
}
</style>

基于前端的手机验证码倒计时的实现和上面的用户协议阅读提示30s倒计时提示的示例实现类似,这里就不再做示例介绍。

最后

通过上面介绍的在vue中实现倒计时功能,在Vue.js开发中遇到相关使用场景就游刃有余了,这也是在开发过程中必用的功能,尤其是对于初中级开发者来说,更应该掌握这些情况的使用,这里不再赘述。以上就是本章的全部内容,欢迎关注三掌柜的微信公众号“程序猿by三掌柜”,三掌柜的新浪微博“三掌柜666”,欢迎关注!

相关文章
|
20天前
|
JSON 前端开发 搜索推荐
惊!这些前端技术竟然能让你的网站实现个性化推荐功能!
【10月更文挑战第30天】随着互联网技术的发展,个性化推荐已成为提升用户体验的重要手段。前端技术如JavaScript通过捕获用户行为数据、实时更新推荐结果等方式,在实现个性化推荐中扮演关键角色。本文将深入解析这些技术,并通过示例代码展示其实际应用。
56 4
|
25天前
|
前端开发 JavaScript 开发者
React与Vue:前端框架的巅峰对决与选择策略
【10月更文挑战第23天】React与Vue:前端框架的巅峰对决与选择策略
|
25天前
|
前端开发 JavaScript 数据管理
React与Vue:两大前端框架的较量与选择策略
【10月更文挑战第23天】React与Vue:两大前端框架的较量与选择策略
|
30天前
|
JavaScript 前端开发 算法
前端优化之超大数组更新:深入分析Vue/React/Svelte的更新渲染策略
本文对比了 Vue、React 和 Svelte 在数组渲染方面的实现方式和优缺点,探讨了它们与直接操作 DOM 的差异及 Web Components 的实现方式。Vue 通过响应式系统自动管理数据变化,React 利用虚拟 DOM 和 `diffing` 算法优化更新,Svelte 通过编译时优化提升性能。文章还介绍了数组更新的优化策略,如使用 `key`、分片渲染、虚拟滚动等,帮助开发者在处理大型数组时提升性能。总结指出,选择合适的框架应根据项目复杂度和性能需求来决定。
|
1月前
|
前端开发 JavaScript 安全
在vue前端开发中基于refreshToken和axios拦截器实现token的无感刷新
在vue前端开发中基于refreshToken和axios拦截器实现token的无感刷新
104 4
|
25天前
|
前端开发 JavaScript 开发者
React与Vue:前端框架的巅峰对决与选择策略
【10月更文挑战第23天】 React与Vue:前端框架的巅峰对决与选择策略
|
1月前
|
前端开发 JavaScript API
2025年前端框架是该选vue还是react?有了大模型-例如通义灵码辅助编码,就不用纠结了!vue用的多选react,react用的多选vue
本文比较了Vue和React两大前端框架,从状态管理、数据流、依赖注入、组件管理等方面进行了详细对比。当前版本和下载量数据显示React更为流行,但Vue在国内用户量增长迅速。Vue 3通过组合式API提供了更灵活的状态管理和组件逻辑复用,适合中小型项目;React则更适合大型项目和复杂交互逻辑。文章还给出了选型建议,强调了多框架学习的重要性,认为技术问题已不再是选型的关键,熟悉各框架的最佳实践更为重要。
|
1月前
|
JSON 前端开发 JavaScript
Vue微前端新探:iframe优雅升级,扬长避短,重获新生
Vue微前端新探:iframe优雅升级,扬长避短,重获新生
116 0
|
1月前
|
存储 人工智能 前端开发
前端大模型应用笔记(三):Vue3+Antdv+transformers+本地模型实现浏览器端侧增强搜索
本文介绍了一个纯前端实现的增强列表搜索应用,通过使用Transformer模型,实现了更智能的搜索功能,如使用“番茄”可以搜索到“西红柿”。项目基于Vue3和Ant Design Vue,使用了Xenova的bge-base-zh-v1.5模型。文章详细介绍了从环境搭建、数据准备到具体实现的全过程,并展示了实际效果和待改进点。
137 2
|
1月前
|
JavaScript 前端开发 程序员
前端学习笔记——node.js
前端学习笔记——node.js
43 0
下一篇
无影云桌面