jQuery插件综合应用(一)注册
一、介绍
注册和登录是每个稍微有点规模的网站就应该有的功能。登陆功能与注册功能类似,也比注册功能要简单些。所以本文就以注册来说明jQuery插件的应用。
jQuery插件的使用非常简单,如果只按照jQuery插件demo中的演示使用,基本上很快就能上手。但是如果按照我们的需要进行操作,还真需要一些技巧。下面会以nanoscroller进行说明。
提到注册功能,无非就是对用户的注册信息进行验证,验证用户输入的注册信息是否合法,在jQuery插件中,validation插件可以实现验证功能。如果用户的信息合法,只需要用户同意“网站的协议”,就允许进行下一步操作————注册。“网站的协议”显示方式有多种,可以在当前页面,也可以在弹出层中。而本文介绍的是弹出层中显示”协议信息”,Lightbox_me插件可以实现弹出层功能。网站的“协议信息”的内容可能很多,为了提高用户的体验,我们可能需要使用滚动条来显示“协议信息”的部分信息。nanoscroller插件可以实现滚动条功能。
二、使用的插件
所以本文介绍的就是validation插件、Lightbox_me插件和nanoscroller插件的综合应用。在这里并不介绍这三个插件的使用方式,如果不明白的可以去插件官方了解使用方法。或者是看下面的3篇文章
网站开发常用jQuery插件总结(四)验证插件validation
网站开发常用jQuery插件总结(二)弹出层插件Lightbox_me
网站开发常用jQuery插件总结(五)滚动条插件nanoscroller
三、插件实现的功能
为了实现注册,插件需要实现以下功能
validation插件实现的功能
1.验证email是否合法
2.用户名是否合法
3.信息的长度
4.是否同意本站“协议信息”
Lightbox_me插件实现的功能
1.隐藏显示弹出层,弹出层中显示“协议信息”
nanoscroller插件实现的功能
1.通过滚动显示“协议信息”
四、实现流程
1.首先定义页面样式,如定义“注册”的样式、页面居中显示等。代码有点多,在这里就不贴出来了。可以在下面的测试页面中看到
2.各插件的样式。插件必须能自定义样式。如需要定义“错误信息”的样式,弹出层的样式,滚动条的样式等。
/*滚动条的样式*/
.nano {
background: white;
width: 500px;
height: 500px;
font-size:12px;
display:none;
}
.nano .content {
padding: 20px;
}
.nano .content h2 {
background:#f95252;
color:white;
margin:0;
padding:8px;
border:1px solid #ccc;
}
.nano .content h4 {
padding:0;
margin-top:8px;
margin-bottom:4px;
font-size:14px;
}
.nano .pane {
background: #2A2931;
width: 8px;
right: 1px;
margin: 5px;
display:inherit;
}
.nano .pane .slider {
background: #f95252;
display:inherit;
}
/*验证的错误信息*/
#login #operbox p .error{
color:red;
}
3.js编码。涉及到三个插件,也是本文最主要的部分。这里只是大体介绍,需要的可以看测试页面中的代码。
弹出层插件使用很简单。我们只需要设置一个连接,在连接被点击时,初始化滚动条插件,然后显示弹出层。
$('#agreement').click(function(e) {
$("#agreementbox").show();
$("#agreementbox").nanoScroller({alwaysVisible: true,disableResize: true,alwaysVisible: true});
$('#agreementbox').lightbox_me({
centered: true
});
});
//关闭弹出层
$('#cancel').click(function(){
$('#agreementbox').trigger('close');
});
弹出层的操作很简答,滚动条插件的初始化也很简单。但是两个插件结合起来,却出现了一个问题。
就是滚动条显示不正确,如果按照官方demo使用,滚动条的显示正常,但是在这个实例中,我需要先隐藏“协议信息”,在用户点击按钮时出现,弹出层是出现了,也可以滚动,但是滚动条不正常,滚动条不随内容滚动。也就是层在隐藏的情况下,nanoscroller插件的滚动条无法初始化。
经过测试,解决了问题。也就是上面代码中的$(“#agreementbox”).show();这就话,先显示,再初始化。
弹出层、滚动信息正常了。下一步就是验证信息。validation插件在以前的文章中已经有过说明,所以这里不对以前的说明进行重复(可以看这篇文章网站开发常用jQuery插件总结(四)验证插件validation),在这篇文章中只对自定义验证方法提了一下。这里对自定义方法做试下说明。
在验证信息时,我们需要验证用户名的格式,如只允许字母数字组成。我们便可以自定义方法,然后在方法中,使用正则表达式进行验证。如下代码所示
//添加自定义方法regex,执行正则表达式验证
$.validator.addMethod(
"regex",
function(value, element, regexp) {
var re = new RegExp(regexp);
return this.optional(element) || re.test(value);
},
"输入格式不正确"
);
//判断用户名的输入格式,与添加的方法名相匹配regex
rules: {
username: {
required: true,
minlength: 6,
regex:/^[a-zA-Z0-9]{6,20}$/
}
},
//验证未通过时,提示的信息
messages: {
username: {
required: "用户名不能为空",
minlength: jQuery.format("用户名至少由 {0} 字符组成"),
regex:"用户名只能有数字字母组成"
}
}
五、测试说明
测试环境win7+ie8.chrome25.0.1364.97 m,firefox12.0。win7+ie8下无法显示圆角框
chrome下测试图:
测试地址:http://www.1100w.com/wp-content/uploads/2013/10/reg.html
jQuery插件综合应用1的更多相关文章
-
jQuery插件综合应用(三)发布文章页面
一.使用的插件 一个折叠的功能导航,由Akordeon插件实现.Nanoscroller插件与Tagit插件主要用于美化页面.这里只是测试,其实还可以综合使用其它的插件,例如将Akordeon插件换成 ...
-
jQuery插件综合应用(一)注册
一.介绍 注册和登录是每个稍微有点规模的网站就应该有的功能.登陆功能与注册功能类似,也比注册功能要简单些.所以本文就以注册来说明jQuery插件的应用. jQuery插件的使用非常简单,如果只按照jQ ...
-
jQuery插件综合应用(二)文字为主的页面
一.介绍 文字内容是每个网站都有的内容,网站在展示文字内容时,总是比图片.视频等富媒体内容要难一些,因为富媒体容易被用户接受.尤其是越多的文字内容越难以被用户通篇的阅读,跳跃式阅读往往是阅读的主要方式 ...
-
jQuery插件综合应用(四)头像设置
一.操作流程 会员点击头像设置,弹出一个层,在层中,有上传图片的按钮,用户点击按钮上传图片,图片在服务器端按大小压缩保存(方便剪切).保存后,在前端显示,然后用户可修剪图片.选择图片区域,点击提交,保 ...
-
全屏背景:15个jQuery插件实现全屏背景图像或媒体
动态网站通常利用背景图像或预加载屏幕,以保证所有资源都加载到页面上,在浏览器中充分呈现.现在很多网站都炫耀自己的图像作为背景图像全屏背景,追溯到旧的Flash网站却用自己的方式在HTML资源重布局. ...
-
JQuery 插件FlexiGrid 之完全配置与使用
博客分类: Java综合 jQuery配置管理jsonServlet数据结构 自己再做这个的时候.也是找了很多资料..但网上搜索了很多资料. 没有介绍的很全的. 鄙人就在此献丑一下. 来全面的介绍一 ...
-
自己写jquery插件之模版插件高级篇(一)
需求场景 最近项目改版中,发现很多地方有这样一个操作(见下图gif动画演示),很多地方都有用到.这里不讨论它的用户体验怎么样. 仅仅是从复用的角度,如果每个页面都去写text和select元素,两个b ...
-
JQuery插件定义
一:导言 有些WEB开发者,会引用一个JQuery类库,然后在网页上写一写$("#"),$("."),写了几年就对别人说非常熟悉JQuery.我曾经也是这样的人 ...
-
BootStrap_04之jQuery插件(导航、轮播)、以及Less
1.列偏移与列排序: ①列偏移:控制列出现的位置,某列偏移后,后序列会随之偏移--只能右偏移: col-lg/md/sm/xs-offset-*; ②列排序:控制某一列的位置,该列可以左(pull)右 ...
随机推荐
-
Grunt(页面静态引入的文件地址的改变探究)-V2.0
相关插件的引用: grunt-usemin 对页面的操作 grunt-contrib-cssmin 压缩css load-grunt-tasks 瘦身gruntfile grunt-rev给md5 ...
-
Oracle归档模式和非归档模式
一 什么是Oracle归档模式? Oracle数据库有联机重做日志,这个日志是记录对数据库所做的修改,比如插入,删除,更新数据等,对这些操作都会记录在联机重做日志里.一般数据库至少要有2个联机重做日志 ...
-
[PL/SQL]oracle数据库的导出导入
一.PL/SQL Developer工具一般对oracle的导入导出有以下4中方式: 1.Oracle导出导入方式 这种方式导出导入为.dmp的文件格式,.dmp文件是二进制的,可以跨平台,还能包含权 ...
-
H5长按事件
let timeOutEvent = 0 $(function () { $('#debug').on({ touchstart: function (e) { setTimeout(function ...
-
Android扫描文件
扫描文件及文件夹 package com.bwie.demo; import java.io.File; import java.io.FileFilter; import java.util.Arr ...
-
MySQL学习笔记之数据存储类型
说明:本文是作者对MySQL数据库数据存储类型的小小总结. Numeric Type (数字类型) 1.TINYINT.SMALLINT.MEDIUMINT.INT.BIGINT主要根据存储字节长度不 ...
-
Python全栈开发之路 【第六篇】:Python基础之常用模块
本节内容 模块分类: 好处: 标准库: help("modules") 查看所有python自带模块列表 第三方开源模块: 自定义模块: 模块调用: import module f ...
-
centos 中查找文件、目录、内容
1.查找文件 find / -name 'filename'12.查找目录 find / -name 'path' -type d13.查找内容 find . | xargs grep -ri 'co ...
-
098实战 Job的调度
一:介绍 1.job调度 容量调度:Apache Hadoop的默认方式 公平调度:CDH版本的Hadoop的默认方式 2.公平调度 是一种资源分配方式,在yarn的整个生命周期中,所有的applic ...
-
【扫描线】Gym - 100781G - Goblin Garden Guards
平面上有100000个哥布林和20000个圆,问你不在圆内的哥布林有多少个. 将每个圆从左到右切2r+1次,形成(2r+1)*2个端点,将上端点记作入点,下端点记作出点,再将这些点和那些哥布林一起排序 ...