jqury插件编写
sae中短信验证码:
; (function($) {
$(document).ready(function() {
if (parent && parent.location.href != location.href) parent.location.href = location.href;
var timelineBox = $('.timeline-box') timelineBox.find('.progress .bar').each(function(k, v) {
$(v).css('width', '25%')
}) var retryBtn = $('#get-vcode');
var codeBox = $('#verify');
retryBtn.addClass('disabled').fadeIn().on('click',
function(e) {
e.preventDefault();
});
var pageTimer = function(limit, interval) {
retryBtn.attr('data-ready', 'loading').addClass('disabled').off('click').on('click',
function(e) {
e.preventDefault();
});
setTimeout(function() {
if (limit > interval) {
limit -= interval;
retryBtn.text('重新获取验证码(' + parseInt(limit / 1000) + 's)');
setTimeout(arguments.callee, interval);
} else {
retryBtn.attr('data-ready', 'ready').text('重新获取验证码').removeClass('disabled').off('click').on('click', retryBtnFunc);
}
},
interval);
}
pageTimer(60000, 1000);
var retryBtnFunc = function(e) {
e.preventDefault();
if (retryBtn.attr('data-ready') == 'ready') {
$.ajax({
url: '/?m=user&a=send_mobile_code',
type: 'POST',
dataType: 'JSON',
success: function(resp, state, xhr) {
var success = xhr.getResponseHeader('reg_ok');
if (success) {
location.href = '/?m=user&a=finish_register';
} else if (xhr.getResponseHeader('sae_ok') || resp.event > 299) {
retryBtn.popover('destroy');
retryBtn.popover({
title: '系统提示',
content: resp.message
}).popover('show');
codeBox[0].select();
pageTimer(60000, 1000);
}
}
}) pageTimer(60000, 1000);
}
}
$('#verify-mobile').on('click',
function(e) {
e.preventDefault();
var ret = $SAETOOLS.trim(codeBox.val());
if (ret.length) {
$.ajax({
url: '/?m=user&a=check_mobile_code',
data: 'vcode=' + ret,
type: 'POST',
dataType: 'JSON',
success: function(data, state, xhr) {
var success = xhr.getResponseHeader('reg_ok');
if (success) {
location.href = '/?m=user&a=finish_register';
} else if (xhr.getResponseHeader('sae_ok') || data.event > 299) {
if (422 == data.event) {
retryBtn.popover('destroy');
$('#verify').popover('destroy').popover({
title: '系统提示',
content: data.message
}).popover('show');
$('#get-vcode').remove();
} else if (data.event <= 299 && data.event >= 200) {
location.href = '/?m=user&a=finish_register';
} else {
retryBtn.popover({
title: '系统提示',
content: data.message
}).popover('show');
codeBox[0].select();
pageTimer(60000, 1000);
}
}
}
})
} else {
codeBox.popover('destroy');
codeBox.popover({
title: '系统提示',
content: '请输入验证码,如果没有收到验证码,可以尝试发送短信到服务器进行手动验证。'
}).popover('show');
codeBox[0].select();
}
});
$('#step-second').on('click',
function(e) {
e.preventDefault();
location.href = '/?m=user&a=security2';
})
})
})(jQuery)
jqury插件编写的更多相关文章
- 设计师和开发人员更快完成工作需求的20个惊人的jqury插件教程(上)
[转] 设计师和开发人员更快完成工作需求的20个惊人的jqury插件教程(上) jquery的功能总是那么的强大,用他可以开发任何web和移动框架,在浏览器市场,他一直是占有重要的份额,今天,就给大家 ...
- jQuery插件编写步骤详解
如今做web开发,jquery 几乎是必不可少的,就连vs神器在2010版本开始将Jquery 及ui 内置web项目里了.至于使用jquery好处这里就不再赘述了,用过的都知道.今天我们来讨论下jq ...
- jquery插件编写【转载】
如今做web开发,jquery 几乎是必不可少的,就连vs神器在2010版本开始将Jquery 及ui 内置web项目里了.至于使用jquery好处这里就不再赘述了,用过的都知道.今天我们来讨论下jq ...
- jQuery插件编写及链式编程模型小结
JQuery极大的提高了我们编写JavaScript的效率,让我们可以愉快的编写代码,做出各种特效.大多数情况下,我们都是使用别人开发的JQuery插件,今天我们就来看看如何把我们常用的功能做出JQu ...
- Wireshark插件编写
Wireshark插件编写 在抓包的过程中学习了使用wireshark,同时发现wireshark可以进行加载插件,便在网上学习了一下相应的插件开发技术. 需求编写一个私有协议名为SYC,使用UDP端 ...
- typecho插件编写教程1 - 从HelloWorld说起
typecho插件编写教程1 - 从HelloWorld说起 老高 187 5月25日 发布 推荐 0 推荐 收藏 2 收藏,189 浏览 最近老高正在编写一个关于typecho的插件,由于typec ...
- jQuery插件编写及链式编程模型
jQuery插件编写及链式编程模型小结 JQuery极大的提高了我们编写JavaScript的效率,让我们可以愉快的编写代码,做出各种特效.大多数情况下,我们都是使用别人开发的JQuery插件,今天我 ...
- vue插件编写与实战
关于 微信公众号:前端呼啦圈(Love-FED) 我的博客:劳卜的博客 知乎专栏:前端呼啦圈 前言 热爱vue开发的同学肯定知道awesome-vue 这个github地址,里面包含了数以千计的vue ...
- chart.js angular组件封装(ng6)、实战配置、插件编写
前言 项目需要使用chart.js插件,由于项目是使用angular开发,那么我第一步就是先把chart.js改造成angular组件来使用. 本项目代码都可以在github上下载:项目git地址 a ...
随机推荐
- Matlab Command Window 进度提示
效果如下,
- Android如何检查对象的类型
The instanceof operator compares an object to a specified type. You can use it to test if an object ...
- Jacob的使用出错总结
转自:http://blog.163.com/wm_at163/blog/static/13217349020114166447941/ Jacob的使用方法: 1.在工程中导入 jacob.jar ...
- sqlite insert select 联合使用
insert into encoder_config (name,value,chengji,parents) select name,value,chengji,parents from media ...
- qt 中文乱码 处理QByteArray类型里含中文的数据
qt解析tcp通信传来的xml时,中文有乱码 解决方法: 头文件加入 #include <QTextCodec> QByteArray tmpQBA = m_pSocket->rea ...
- 2016/4/14腾讯Android实习面试
腾讯实习面试,面试官会先问你会什么,擅长什么.然后会依照这个问,问的也不是非常偏,问道你不会的就换下一个知识点. 主要问我的有这几个问题 图形学 1.Bizer曲线怎么绘制的.原理是什么 2.对栅格有 ...
- Microsoft Visual C++ 14.0 is required问题的解决或warning: Debugger speedups using cython not found
今天在下载了 python3.64版本的安装后运行爬虫程序报错: warning: Debugger speedups using cython not found. Run '"C:\Py ...
- C++游戏系列:文件夹
C++游戏系列1:角色类 C++游戏系列2:给角色装备武器 C++游戏系列3:用多文件组织角色类 C++游戏系列4:杀伤距离有限制 C++游戏系列5:不止有一件武器 C++游戏系列6:自己动起来 C+ ...
- php 获得linux 机器的性能
<?php $str = shell_exec('more /proc/stat'); $pattern = "/(cpu[0-9]? )[\s]+([0-9]+)[\s]+([0-9 ...
- ftm时钟源
FTMx_SC中的 CLKS时钟选择位 00 :无 01: System clock 10:Fixed frequency clock 11 External clock 此处的01:System c ...