麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

jQuery插件開發發送短信倒計時功能代碼

2019-11-19 16:37:56
字體:
來源:轉載
供稿:網友

實現的主要功能如下:

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插件開發發送短信倒計時功能代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久久精品久久久久 | 美女黄色影院 | 色播久久| 九色激情网 | 日韩精品中文字幕在线播放 | 午夜av男人的天堂 | 国产乱淫av | 免费h片网站 | 中文国产在线视频 | 欧美一级做一级爱a做片性 久久久资源网 | 久久国产精品电影 | 中文字幕在线观看二区 | 国产精品久久久久久久久久大牛 | 免费a视频| 国产99精品视频 | 毛片视频大全 | 精品中文字幕在线播放 | 国产一级一片免费播放 | 亚洲人成在线播放 | 蝌蚪久久窝 | 一区二区三区日韩精品 | 亚洲国产二区 | 亚洲人成综合第一网 | 久久久久北条麻妃免费看 | 羞羞电影在线观看 | 九九热视频这里只有精品 | 欧美日韩免费观看视频 | 亚洲精品久久久久久下一站 | 欧美精品久久天天躁 | 亚洲一级成人 | 久久久久免费精品国产小说色大师 | 国产69精品久久99不卡免费版 | 一区二区三区视频在线观看 | 国产视频第一区 | 在线日韩亚洲 | 亚洲成人入口 | 免费观看黄视频 | 激情黄页 | 毛片视频免费观看 | 国产精品麻豆一区二区三区 | 在线观看国产免费视频 |