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 ...
随机推荐
- 搭建简单Ext
一.EXT是什么? 1. Ext是一个Ajax框架,可以用来开发带有华丽外观的富客户端应用,使得我们的b/s应用更加具有活力及生命力,提高用户体验: 2. Ext是一个用javascript编写,与后 ...
- CSS:用SASS(SCSS)实现栅格系统
背景 在CSS:用Less实现栅格系统中我介绍了如何用LESS实现栅格系统,为啥还要再用SASS做一遍呢?Bootstrap+JQuery+Less做前端(以读取为目的),ExtJs+Sass做后台( ...
- Error: Cannot find module 'internal/fs'
$ sudo n 6.9.1 $ sudo npm -g install npm@next $ sudo n stable curl -0 -L https://npmjs.org/install.s ...
- udp_client.c udp_server.c
#include <stdlib.h> #include <stdio.h> #include <errno.h> #include <string.h> ...
- Java设计模式之生产者消费者模式
Java设计模式之生产者消费者模式 博客分类: 设计模式 设计模式Java多线程编程thread 转载 对于多线程程序来说,不管任何编程语言,生产者和消费者模型都是最经典的.就像学习每一门编程语言一 ...
- 使用Vue.js制作仿Metronic高级表格(一)静态设计
Metronic高级表格是Metonic框架中自行实现的表格,其底层是Datatables.本教程将主要使用Vue实现交互部分,使用Bootstrap做样式库.jQuery做部分用户交互(弹窗). 使 ...
- mybatis连接mysql数据库插入中文乱码
对于MySQL数据库的乱码问题,有两种情况: 1. mysql数据库编码问题(建库时设定). 2. 连接mysql数据库的url编码设置问题. 对于第一个问题,目前个人发现只能通过重新建库解决,建库的 ...
- #define 与 typedef
1.#define:预编译指令,在预编译的时候,进行文本替换. 2.typedef:编译时处理,为类型取一个别名. 3.#define与typedef的顺序是相反的,记住typedef就行了.type ...
- [笔记][Java7并发编程实战手冊]3.8 并发任务间的数据交换Exchanger
[笔记][Java7并发编程实战手冊]系列文件夹 简单介绍 Exchanger 是一个同步辅助类.用于两个并发线程之间在一个同步点进行数据交换. 同意两个线程在某一个点进行数据交换. 本章exchan ...
- Mysql InnoDB锁
MySQL 不同引擎的锁机制: MyISAM和MEMORY采用表级锁(table-level locking) BDB采用页面锁(page-leve locking)或表级锁,默认为页面锁 InnoD ...