(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. Python中表达式和语句及for、while循环练习

    Python中表达式和语句及for.while循环练习 1)表达式 常用的表达式操作符: x + y, x - y x * y, x / y, x // y, x % y 逻辑运算: x or y, ...

  2. ESN

    1.对于一般的硬件设备,ESN是设备序列号,主要用来识别设备,包括未来服务鉴权的需要 2.对于需要license的设备,ESN也是设备序列号的意思,只不过这个序列号可能是根据设备硬件信息算出来的一串字 ...

  3. 2018 Multi-University Training Contest 4-Glad You Came(hdu 6356)

    一.思路 线段树维护一个区间最小值,然后对于每次操作,做区间更新即可.要注意的是,在更新的时候,记得剪枝:如果当前更新的值$v \le minv$(minv为当前线段树节点所管辖区间的最小值),直接返 ...

  4. android中一个评分的控件

    RatingBar android中一个评分的控件 如何使用 Android Studio下: dependencies { compile 'com.hedgehog.ratingbar:app:1 ...

  5. linux nginx安装以及配置

    一.Nginx简介 Nginx (“engine x”) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器.Nginx是由Igor Sysoev为俄罗斯访问量第二的R ...

  6. Selenium Webdriver——Table类封装

    WebTable.java import java.util.List; import org.openqa.selenium.By; import org.openqa.selenium.WebEl ...

  7. android处理Back键Home键和Menu键事件(转)

    @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if(keyCode == KeyEvent.KEYCODE_BAC ...

  8. spring mvc 映射器和适配器

    映射器和适配器 1.非注解的映射器和适配器 a. 入门程序中的单个映射 BeanNameUrlHandlerMapping SimpleControllerHandlerAdapter b.另一种ma ...

  9. CPU GPU FPU TPU 及厂商

    1,AMD 既做CPU又做显卡2,Inter 全球最大的CPU厂商,GPU,FPGA3,NVIDA 人工智能起家的公司,且一直在做,显卡最出名,CUDA让N卡胜了AMD CPU上 AMD - Inte ...

  10. C#中使用DLL相关问题

    一,C#调用 C/C++ 库函数 1,UNITY的C# VS工程常常打不开 属性页,右键工程无 [添加引用]项.原因是VS的自带工具[适用于UNITY的工具]导致的. 解决办法:VS-[工具]-[选项 ...