jQuery实现发送短信倒计时功能
本文将围绕着一下几种功能讲解:
1.点击按钮的时候,可以进行倒计时,倒计时自定义.2.当接收短信失败后,倒计时停止,可点击重新发送短信.3.点击的元素支持一般标签和input标签。看似很复杂其实实现代码很简单,下面小编给大家分享下实现代码,需要的朋友参考下吧。
实现的主要功能如下:
1.点击按钮的时候,可以进行倒计时,倒计时自定义。
2.当接收短信失败后,倒计时停止,可点击重新发送短信。
3.点击的元素支持一般标签和input标签。
html代码:
<input type="button" class="sameBtn btnCur" value="发送验证码"/> <p class="sameBtn btnCur2">发送验证码</p>
css代码:
body{padding:100px;text-align: center;} .sameBtn{display: inline-block;font-size:12px;cursor:pointer;width:76px;height:25px;line-height: 25px;text-align: center;border:0;background: #3186df;color:#fff;} .sameBtn.current{background: #b1b1b1;}
js代码:
//短信倒计时功能 /**使用方式如下: * $(".btnCur").CountDownF({ * time:120, * resetWords:'重新发送', //文字定义 * cnSeconds:'s',//倒计时中显示中文的秒,还是s * clickClass:'current', //点击后添加的class类 * countState:true, * callback:function(){ * setTimeout(function(){ * //当发送失败后,可以立即清除倒计时与其状态 * $(".btnCur").CountDownF('clearState'); * },3000); * } * }); * * */ ;(function($,window,document,undefined){ var pluginName = 'CountDownF', defaluts = { time:120, resetWords:'重新发送', //文字定义 cnSeconds:'s',//倒计时中显示中文的秒,还是s clickClass:'current', //点击后添加的class类 countState:true //是否可以倒计时,true可以倒计时,false不能进行倒计时 } function Count(element,options){ this.element = element; this.$element = $(this.element); this.state = true; this.settings = $.extend({},defaluts,options); this.number = this.settings.time; this.init(); } Count.prototype = { init:function(){ var self = this; self.$element.on('click',function(){ if(self.state && self.settings.countState){ self.state = false; if(self.settings.countState){ self._count(); } if(self.settings.callback){ self.settings.callback(); } } }); }, //倒计时函数 _count:function(){ var self = this; if(self.number == 0){ self._clearInit(); }else{ if(self.number < 10){ //如果当前元素是input,使用val赋值 this.$element.attr('type') ? this.$element.val('0' + self.number + self.settings.cnSeconds) : this.$element.html('0' + self.number + self.settings.cnSeconds); }else{ this.$element.attr('type') ? this.$element.val(self.number + self.settings.cnSeconds) : this.$element.html(self.number + self.settings.cnSeconds); } self.number--; this.$element.addClass(self.settings.clickClass); self.clearCount = setTimeout(function(){ self._count(); },1000); } }, //修改是否可发送短信验证码倒计时状态 change:function(state){ var self = this; self.settings.countState = state; }, //置为初始状态 _clearInit:function(){ var self = this; self.$element.removeClass(self.settings.clickClass); self.$element.attr('type') ? self.$element.val(self.settings.resetWords) : self.$element.html(self.settings.resetWords); clearTimeout(self.clearCount); self.number = self.settings.time; self.state = true; }, //清除倒计时进行状态 clearState:function(){ var self = this; self._clearInit(); } }; $.fn.CountDownF = function(options){ var args = arguments; if(options === undefined || typeof options ==='object' ){ return this.each(function(){ if(!$.data(this,'plugin' + pluginName)){ $.data(this,'plugin' + pluginName,new Count(this,options)); } }); } else if(typeof options === 'string' && options !== 'init'){ var returns; this.each(function(){ var data = $.data(this,'plugin' + pluginName); if(data instanceof Count && typeof data[options] === 'function'){ returns = data[options].apply(data,Array.prototype.slice.call(args,1)); } if(options === 'destory'){ $.data(this, 'plugin' + pluginName, null); } }); return returns !== undefined ? returns : this; } else{ $.error('Method' + options + 'does not exist on jQuery.CountDownF'); } } })(jQuery,window,document);
调用方式:
$(function(){ $(".btnCur").CountDownF({ time:120, countState:true, callback:function(){ setTimeout(function(){ $(".btnCur").CountDownF('clearState'); },3000); } }); $(".btnCur2").CountDownF({ time:50, countState:true, cnSeconds:'秒', callback:function(){ setTimeout(function(){ $(".btnCur2").CountDownF('clearState'); },5000); } }); })
github地址:https://github.com/hxlmqtily1314/sms_countdown
怎么样大家学会了吗?赶紧动手尝试一下吧。
相关推荐:
以上是jQuery实现发送短信倒计时功能的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

jQuery引用方法详解:快速上手指南jQuery是一个流行的JavaScript库,被广泛用于网站开发中,它简化了JavaScript编程,并为开发者提供了丰富的功能和特性。本文将详细介绍jQuery的引用方法,并提供具体的代码示例,帮助读者快速上手。引入jQuery首先,我们需要在HTML文件中引入jQuery库。可以通过CDN链接的方式引入,也可以下载

jQuery如何移除元素的height属性?在前端开发中,经常会遇到需要操作元素的高度属性的需求。有时候,我们可能需要动态改变元素的高度,而有时候又需要移除元素的高度属性。本文将介绍如何使用jQuery来移除元素的高度属性,并提供具体的代码示例。在使用jQuery操作高度属性之前,我们首先需要了解CSS中的height属性。height属性用于设置元素的高度

jQuery中如何使用PUT请求方式?在jQuery中,发送PUT请求的方法与发送其他类型的请求类似,但需要注意一些细节和参数设置。PUT请求通常用于更新资源,例如更新数据库中的数据或更新服务器上的文件。以下是在jQuery中使用PUT请求方式的具体代码示例。首先,确保引入了jQuery库文件,然后可以通过以下方式发送PUT请求:$.ajax({u

在win10中,开机倒数默认是启用的。当我们在开机之后,会看到一个倒数计时的界面,通常是10秒的倒数。在这个时间之内,我们可以选择是否继续开机或者进行一些其它的操作。虽然开机倒数为我们的系统带来了些许便利,但在一些情况下也可能带来麻烦。想取消显示,但是不知道怎么操作,这篇文章是本站给大家带来的Win10开机几秒倒计时取消方法。了解win10开机倒数在win10中,开机倒数默认是启用的。当我们在开机之后,会看到一个倒数计时的界面,通常是10秒的倒数。在这个时间之内,我们可以选择是否继续开机或者进行

标题:jQuery小技巧:快速修改页面所有a标签的文本在网页开发中,我们经常需要对页面中的元素进行修改和操作。在使用jQuery时,有时候需要一次性修改页面中所有a标签的文本内容,这样可以节省时间和精力。下面将介绍如何使用jQuery快速修改页面所有a标签的文本,同时给出具体的代码示例。首先,我们需要引入jQuery库文件,确保在页面中引入了以下代码:<

标题:使用jQuery修改所有a标签的文本内容jQuery是一款流行的JavaScript库,被广泛用于处理DOM操作。在网页开发中,经常会遇到需要修改页面上链接标签(a标签)的文本内容的需求。本文将介绍如何使用jQuery来实现这个目标,并提供具体的代码示例。首先,我们需要在页面中引入jQuery库。在HTML文件中添加以下代码:

如何判断jQuery元素是否具有特定属性?在使用jQuery操作DOM元素时,经常会遇到需要判断元素是否具有某个特定属性的情况。这种情况下,我们可以借助jQuery提供的方法来轻松实现这一功能。下面将介绍两种常用的方法来判断一个jQuery元素是否具有特定属性,并附上具体的代码示例。方法一:使用attr()方法和typeof操作符//判断元素是否具有特定属

苹果手机短信删除了一些重要的短信,很多用户就不知道应该怎么恢复了,其实恢复的方法也是很简单的,今天就把详细的恢复方法分享给大家。苹果手机短信删除了如何恢复回来答:有四种方法,分别是iCloud恢复,iTunes恢复,第三方软件恢复和运营商恢复1、如果用户使用了icloud备份了自己手机的短信数据,可以直接使用icloud恢复数据。2、只需要进入【设置】>【通用】>【还原】,然后从iCloud备份中恢复,选择最近的短信备份就可以了。3、如果用户使用了iTunes备份了自己的手机,那么玩家只需要把
