(function ($) {
$.SmsHelper = $.SmsHelper || {};
$.extend($.SmsHelper,
{
//插件具体实现代码
yzmnum: 60,
AjaxUrl: "/AjaxMethod/CommonSMS.ashx?key=GetSmsCode",
GetSmsCodeClick: function (phoneCode, obj) {
if (phoneCode == '') {
$.AmHelper.ShowMsg('请输入手机号');
return;
} var reg = /^1[358]\d{9}$/;
if (!reg.test(phoneCode)) {
$.AmHelper.ShowMsg("手机号码格式不正确!");
return;
} var objText = $(obj).val();
if (objText == '') {
objText = $(obj).text();
if (objText.indexOf('验证码') > -1) {
$.SmsHelper.GetSmsCodeEx(phoneCode, obj);
}
} else {
if (objText.indexOf('验证码') > -1) {
$.SmsHelper.GetSmsCode(phoneCode, obj);
}
}
}, //获得手机验证码
GetSmsCode: function (mobile, obj) {
$(obj).val('请稍后...' + $.SmsHelper.yzmnum);
$(obj).attr("disabled", true); var yzmtime = setInterval(function () {
$.SmsHelper.yzmnum--;
$(obj).val('请稍后...' + $.SmsHelper.yzmnum);
if ($.SmsHelper.yzmnum == 0) {
$(obj).val('获取验证码');
$(obj).attr("disabled", false);
clearInterval(yzmtime);
$.SmsHelper.yzmnum = 60;
}
}, 1000); if (mobile != "") {
$.ajax({
type: "post",
url: $.SmsHelper.AjaxUrl,
data: { "Mobile": mobile, "PageType": $.SmsHelper.smsPageType },
async: false,
dataType: "json",
success: function (msg) {
if (msg.returncode == "0") {
$.AmHelper.ShowMsg("验证码短信已发送");
} else {
$.AmHelper.ShowMsg(msg.message);
}
},
complete: function (XHR, TS) { XHR = null }
});
}
else {
$.AmHelper.ShowMsg('请填写手机号码!');
}
},
GetSmsCodeEx: function (mobile, obj, pageType) {
$(obj).text('请稍后...' + $.SmsHelper.yzmnum);
$(obj).attr("disabled", true); var yzmtime = setInterval(function () {
$.SmsHelper.yzmnum--;
$(obj).text('请稍后...' + $.SmsHelper.yzmnum);
if ($.SmsHelper.yzmnum == 0) {
$(obj).text('获取验证码');
$(obj).attr("disabled", false);
clearInterval(yzmtime);
$.SmsHelper.yzmnum = 60;
}
}, 1000); if (mobile != "") {
$.ajax({
type: "post",
url: $.SmsHelper.AjaxUrl,
data: { "Mobile": mobile, "PageType": smsPageType },
async: false,
dataType: "json",
success: function (msg) {
if (msg.returncode == "0") {
$.AmHelper.ShowMsg("验证码短信已发送");
} else {
$.AmHelper.ShowMsg(msg.message);
} },
complete: function (XHR, TS) { XHR = null }
});
}
else {
$.AmHelper.ShowMsg('请填写手机号码!');
}
} });
})(jQuery);

调用方式:

$.SmsHelper.GetSmsCodeClick();

Jquery 自定义插件写法(示例)的更多相关文章

  1. JQuery自定义插件详解之Banner图滚动插件

      前  言 JRedu JQuery是什么相信已经不需要详细介绍了.作为时下最火的JS库之一,JQuery将其"Write Less,Do More!"的口号发挥的极致.而帮助J ...

  2. 深入学习jQuery自定义插件

    原文地址:jQuery自定义插件学习 1.定义插件的方法 对象级别的插件扩展,即为jQuery类的实例增加方法, 调用:$(选择器).函数名(参数);      $(‘#id’).myPlugin(o ...

  3. 代码:jquery自定义插件 demo

    jquery自定义插件 demo 2016-1-13 只是一个简易的示例 <script type="text/javascript" src="http://cd ...

  4. jquery自定义插件——以 选项卡插件为例

    一直打算尝试自定义插件,终于付诸实践了,现在把内容发表出来,与大家共勉. 我是根据自己正在用的插件,模仿其源码,实现的自定义插件,完成之后,在网上看相关资料,对自定义插件部分,有了更明确的认识. jq ...

  5. jQuery自定义插件

    jQuery自定义插件 jQuery自定义插件按照功能分类,可以分为三类, 1>封装对象方法的插件,(也就是基于某个DOM元素的jQuery对象,局部的) 2>封装全局函数的插件,   ( ...

  6. 你的专属定制——JQuery自定义插件

        前  言 絮叨絮叨 jQuery是一个快速.简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架).jQuery设计的宗 ...

  7. jQuery自定义插件--banner图滚动

    前言 jQuery是一个功能强大的库,提供了开发JavaScript项目所需的所有核心函数.很多时候我们使用jQuery的原因就是因为其使用插件的功能,然而,有时候我们还是需要使用自定义代码来扩展这些 ...

  8. fullpage的使用以及less, Sass的属性和JQuery自定义插件的声明和使用

    使用fullpage的步骤   1 导入JQuery.js fullpage,js fullpage.css 2 组建网页布局,最外层id="fullpage" 单页class=& ...

  9. jquery自定义插件结合baiduTemplate.js实现异步刷新(附源码)

    上一篇记录了BaiduTemplate模板引擎使用示例附源码,在此基础上对使用方法进行了封装 自定义插件jajaxrefresh.js 代码如下: //闭包限定命名空间 (function ($) { ...

随机推荐

  1. C++实现大正整数及其相关运算(长期更新)

    /** 只考虑正数[1, +∞); “-”运算只允许大数减小数; 小端存储: */ typedef struct BigInteger0 { vector<int> v; BigInteg ...

  2. WPF 实现指定UI控件截图

    using System.Windows.Media.Imaging; using System.IO; private void SaveToImage(FrameworkElement ui, s ...

  3. spring data jpa 的各种查询总结

    参考哦:https://blog.csdn.net/weixin_36667844/article/details/79945156

  4. logger 的使用一 小结

    方式一 依赖: <!-- log start --> <dependency> <groupId>log4j</groupId> <artifac ...

  5. C#实现图片文件到数据流再到图片文件的转换

    //----引入必要的命名空间using System.IO;using System.Drawing.Imaging; //----代码部分----// private byte[] photo;/ ...

  6. RAD XE8

    http://community.embarcadero.com/index.php/blogs/entry/rad-studio-2015-roadmap http://www.embarcader ...

  7. pom指定java编译版本和编码

    方法一 <properties> <!-- 文件拷贝时的编码 --> <project.build.sourceEncoding>UTF-8</project ...

  8. 用VB6.0实现串口通信

    Then       ' 1位或2位          'byte 类型取值范围为 0-255 ,不能为-1                   = ) & )     End IfstrHe ...

  9. 可视化库-Matplotlib-饼图与布局(第四天)

    1. 画出一个基本的饼图,通过plt.pie() m = 51212 f = 40742 m_perc = m / (m+f) f_perc = f / (m+f) colors = ['navy', ...

  10. sceneManager.loadscene加载场景时不会主动去加载场景的依赖包,要手动加载或添加场景到build setting列表中

    假设有一场景1001.unity,,manifest文件如下: ManifestFileVersion: 0CRC: 425184873Hashes: AssetFileHash: serialize ...