jQuery插件开发发送短信倒计时功能代码
发布时间 - 2026-01-11 01:02:24 点击率:次实现的主要功能如下:

1.点击按钮的时候,可以进行倒计时,倒计时自定义。
2.当接收短信失败后,倒计时停止,可点击重新发送短信。
3.点击的元素支持一般标签和input标签。
html代码:
<input type="button" class="sameBtn btnCur" value="发送验证码"/> <div class="sameBtn btnCur2">发送验证码</div>
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插件开发发送短信倒计时功能代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# jquery发送短信倒计时
# jquery
# 短信倒计时
# jQuery实现倒计时重新发送短信验证码功能示例
# 基于jQuery实现发送短信验证码后的倒计时功能(无视页面关闭)
# jQuery短信验证倒计时功能实现方法详解
# 倒计时
# 验证码
# 小编
# 发送短信
# 在此
# 给大家
# 自定义
# 主要功能
# 所述
# 给我留言
# 感谢大家
# 疑问请
# 有任何
# border
# line
# size
# background
# height
# cursor
# font
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Python面向对象测试方法_mock解析【教程】
Laravel中的withCount方法怎么高效统计关联模型数量
Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】
如何快速搭建支持数据库操作的智能建站平台?
Laravel如何与Vue.js集成_Laravel + Vue前后端分离项目搭建指南
Laravel的.env文件有什么用_Laravel环境变量配置与管理详解
Laravel怎么实现搜索高亮功能_Laravel结合Scout与Algolia全文检索【实战】
Python企业级消息系统教程_KafkaRabbitMQ高并发应用
ChatGPT 4.0官网入口地址 ChatGPT在线体验官网
如何在IIS中新建站点并解决端口绑定冲突?
想要更高端的建设网站,这些原则一定要坚持!
历史网站制作软件,华为如何找回被删除的网站?
,网页ppt怎么弄成自己的ppt?
创业网站制作流程,创业网站可靠吗?
网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?
,南京靠谱的征婚网站?
Laravel怎么集成Vue.js_Laravel Mix配置Vue开发环境
Laravel怎么判断请求类型_Laravel Request isMethod用法
bing浏览器学术搜索入口_bing学术文献检索地址
Laravel怎么为数据库表字段添加索引以优化查询
如何在HTML表单中获取用户输入并结合JavaScript动态控制复利计算循环
如何快速搭建高效WAP手机网站?
如何快速生成凡客建站的专业级图册?
潮流网站制作头像软件下载,适合母子的网名有哪些?
千问怎样用提示词获取健康建议_千问健康类提示词注意事项【指南】
网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?
Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】
Laravel如何集成Inertia.js与Vue/React?(安装配置)
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
如何注册花生壳免费域名并搭建个人网站?
开心动漫网站制作软件下载,十分开心动画为何停播?
香港服务器网站生成指南:免费资源整合与高速稳定配置方案
网站建设保证美观性,需要考虑的几点问题!
微博html5版本怎么弄发语音微博_语音录制入口及时长限制操作【教程】
Laravel用户密码怎么加密_Laravel Hash门面使用教程
Laravel PHP版本要求一览_Laravel各版本环境要求对照
如何在新浪SAE免费搭建个人博客?
Laravel如何与Inertia.js和Vue/React构建现代单页应用
英语简历制作免费网站推荐,如何将简历翻译成英文?
高防服务器租用如何选择配置与防御等级?
Android自定义控件实现温度旋转按钮效果
Laravel如何编写单元测试和功能测试?(PHPUnit示例)
如何在景安云服务器上绑定域名并配置虚拟主机?
做企业网站制作流程,企业网站制作基本流程有哪些?
成都品牌网站制作公司,成都营业执照年报网上怎么办理?
晋江文学城电脑版官网 晋江文学城网页版直接进入
详解jQuery停止动画——stop()方法的使用
Laravel如何实现用户密码重置功能?(完整流程代码)
电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?
HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】

