jQuery 插件运用
1. fullpage 插件(全屏)
jqueryui 官网:http://jqueryui.com/draggable/
1.1 使用方法
- 引入文件
<link rel="stylesheet" href="css/jquery.fullPage.css">
<script src="js/jquery.min.js"></script>
<!-- jquery.easings.min.js 是必须的,用于 easing 参数,也可以使用完整的 jQuery UI 代替 -->
<script src="js/jquery.easings.min.js"></script>
<!-- 如果 scrollOverflow 设置为 true,则需要引入 jquery.slimscroll.min.js,一般情况下不需要 -->
<script src="js/jquery.slimscroll.min.js"></script>
<script src="js/jquery.fullPage.js"></script>
- html代码
<div id="fullpage">
<div class="section">第一屏</div>
<div class="section">第二屏</div>
<div class="section">
<div class="slide">第三屏的第一屏</div>
<div class="slide">第三屏的第二屏</div>
<div class="slide">第三屏的第三屏</div>
<div class="slide">第三屏的第四屏</div>
</div>
<div class="section">第四屏</div>
</div>
- js 代码
$(function(){
$('#fullpage').fullpage();
});
1.2 配置
- 选项
verticalCentered | 字符串 | true | 内容是否垂直居中 |
resize | 布尔值 | false | 字体是否随着窗口缩放而缩放 |
slidesColor | 函数 | 无 | 设置背景颜色 |
anchors | 数组 | 无 | 定义锚链接 |
scrollingSpeed | 整数 | 700 | 滚动速度,单位为毫秒 |
easing | 字符串 | easeInQuart | 滚动动画方式 |
menu | 布尔值 | false | 绑定菜单,设定的相关属性与 anchors 的值对应后,菜单可以控制滚动 |
navigation | 布尔值 | false | 是否显示项目导航 |
navigationPosition | 字符串 | right | 项目导航的位置,可选 left 或 right |
navigationColor | 字符串 | #000 | 项目导航的颜色 |
navigationTooltips | 数组 | 空 | 项目导航的 tip |
slidesNavigation | 布尔值 | false | 是否显示左右滑块的项目导航 |
slidesNavPosition | 字符串 | bottom | 左右滑块的项目导航的位置,可选 top 或 bottom |
controlArrowColor | 字符串 | #fff | 左右滑块的箭头的背景颜色 |
loopBottom | 布尔值 | false | 滚动到最底部后是否滚回顶部 |
loopTop | 布尔值 | false | 滚动到最顶部后是否滚底部 |
loopHorizontal | 布尔值 | true | 左右滑块是否循环滑动 |
autoScrolling | 布尔值 | true | 是否使用插件的滚动方式,如果选择 false,则会出现浏览器自带的滚动条 |
scrollOverflow | 布尔值 | false | 内容超过满屏后是否显示滚动条 |
css3 | 布尔值 | false | 是否使用 CSS3 transforms 滚动 |
paddingTop | 字符串 | 0 | 与顶部的距离 |
paddingBottom | 字符串 | 0 | 与底部距离 |
fixedElements | 字符串 | 无 | |
normalScrollElements | 无 | ||
keyboardScrolling | 布尔值 | true | 是否使用键盘方向键导航 |
touchSensitivity | 整数 | 5 | |
continuousVertical | 布尔值 | false | 是否循环滚动,与 loopTop 及 loopBottom 不兼容 |
animateAnchor | 布尔值 | true | |
normalScrollElementTouchThreshold | 整数 | 5 |
- 方法
moveSectionUp() | 向上滚动 |
moveSectionDown() | 向下滚动 |
moveTo(section, slide) | 滚动到 |
moveSlideRight() | slide 向右滚动 |
moveSlideLeft() | slide 向左滚动 |
setAutoScrolling() | 设置页面滚动方式,设置为 true 时自动滚动 |
setAllowScrolling() | 添加或删除鼠标滚轮/触控板控制 |
setKeyboardScrolling() | 添加或删除键盘方向键控制 |
setScrollingSpeed() | 定义以毫秒为单位的滚动速度 |
- 回调函数
afterLoad | 滚动到某一屏后的回调函数,接收 anchorLink 和 index 两个参数,anchorLink 是锚链接的名称,index 是序号,从1开始计算 |
onLeave | 滚动前的回调函数,接收 index、nextIndex 和 direction 3个参数:
index 是离开的“页面”的序号,从1开始计算; nextIndex 是滚动到的“页面”的序号,从1开始计算; direction 判断往上滚动还是往下滚动,值是 up 或 down。 |
afterRender | 页面结构生成后的回调函数,或者说页面初始化完成后的回调函数 |
afterSlideLoad | 滚动到某一水平滑块后的回调函数,与 afterLoad 类似,接收 anchorLink、index、slideIndex、direction 4个参数 |
onSlideLeave | 某一水平滑块滚动前的回调函数,与 onLeave 类似,接收 anchorLink、index、slideIndex、direction 4个参数 |
1.3 实际运用
- 将结构和需要的包放入 index.html,修改路径
<link rel="stylesheet" href="css/jquery.fullPage.css">
<script src="js/jquery-1.8.3.min.js"></script>
<script src="js/jquery-ui-1.10.3.min.js"></script>
<script src="js/jquery.fullPage.min.js"></script>
- 自定义menu 菜单
html 代码
<ul id="nemu">
<li data-menuanchor="page1"><a href="#page1">导航一</a></li>
<li data-menuanchor="page2"><a href="#page2">导航二</a></li>
<li data-menuanchor="page3"><a href="#page3">导航三</a></li>
<li data-menuanchor="page4"><a href="#page4">导航四</a></li>
</ul>
css 代码
*{
margin:;
padding:;
}
#nemu{
width: 100%;
height: 40px;
position: fixed;
top:;
left:;
z-index:;
}
#nemu li{
list-style: none;
float:left;
height: 40px;
line-height: 40px;
width: 100px;
margin:0 10px;
background: pink;
text-align: center;
}
2. validate 插件(表单验证)
2.1 在控件中设计验证表单
<form action="02.php" method="post" id="myForm">
用户名<input type="text" name="username" id="username"><br>
密码<input type="password" name="pass" id="pass"><br>
重复密码<input type="password" name="repass" id="repass"><br>
邮箱<input type="text" name="email" id="email"><br>
网址<input type="text" name="url" id="url"><br>
<input type="submit" value="注册">
</form>
<script src="js/jquery-1.11.1.min.js"></script>
<script src="js/jquery-validate.min.js"></script>
2.2 在js文件中写入规则(rules)
$(function () {
$("#myForm").validate({
rules:{
username:{
required:true,
maxlength:8,
minlength:2
},
pass:{
required:true,
rangelength:[5,10],//相当于 maxlength:8,minlength:2
},
repass:{
required:true,
equalTo:"#pass"
},
email:{
required:true,
email:true
},
url:{
required:true,
url:true
}
},
});
})
注:rules 内用的是html 文件中的 name 名,而非 id 名
2.3 验证规则参考
1 | required:true | 必须输入的字段。 |
2 | remote:"check.php" | 使用 ajax 方法调用 check.php 验证输入值。 |
3 | email:true | 必须输入正确格式的电子邮件。 |
4 | url:true | 必须输入正确格式的网址。 |
5 | date:true | 必须输入正确格式的日期。日期校验 ie6 出错,慎用。 |
6 | dateISO:true | 必须输入正确格式的日期(ISO),例如:2009-06-23,1998/01/22。只验证格式,不验证有效性。 |
7 | number:true | 必须输入合法的数字(负数,小数)。 |
8 | digits:true | 必须输入整数。 |
9 | creditcard: | 必须输入合法的信用卡号。 |
10 | equalTo:"#field" | 输入值必须和 #field 相同。 |
11 | accept: | 输入拥有合法后缀名的字符串(上传文件的后缀)。 |
12 | maxlength:5 | 输入长度最多是 5 的字符串(汉字算一个字符)。 |
13 | minlength:10 | 输入长度最小是 10 的字符串(汉字算一个字符)。 |
14 | rangelength:[5,10] | 输入长度必须介于 5 和 10 之间的字符串(汉字算一个字符)。 |
15 | range:[5,10] | 输入值必须介于 5 和 10 之间。 |
16 | max:5 | 输入值不能大于 5。 |
17 | min:10 | 输入值不能小于 10。 |
例:用 AJAX 将数据传入后台验证
//rules中添加的内容
username:{
required:true,
remote: {
url: "1.php", //后台处理文件
type: "post", //数据发送方式
dataType: "json", //接受数据格式
data: { //传的数据
username: function() {
return $("#username").val();//返回结果为 true 或 false
}
}
}
}
//messages 中添加
username:{
required:"用户名不能为空",
remote :"用户名已存在"
}
2.4 修改错误提示与验证通过的样式
- 简单页面验证
css代码
/*.valid是设置验证成功以后的样式*/
.valid{
border: 1px solid yellow;
}
/*.error是设置验证失败以后的样式 而且错误信息默认是用label装的*/
label.error {
color: red;
border: 1px solid #ccc;
padding:0px 5px;
font-weight:;
}
js 代码
$(function () {
$("#myForm").validate({
rules:{…},
messages:{
username:{
required:"用户名不能为空",
maxlength:"最多不能多于8位",
minlength:"最少不能少于2位"
},
pass:{
required:"密码不能为空",
rangelength:"密码最小5位,最大10位"
},
repass:{
required:true,
equalTo:"两次输入密码不一致"
},
email:{
required:true,
email:"必须输入正确的邮箱格式"
},
url:{
required:true,
url:"必须输入正确的网址格式"
}
}
});
})
- 自定义样式
- 错误样式
- errorElement 对应字符串标签(放置错误信息),一般设置为 span
- errorPlacement 对应函数,设置提示信息的位置,两个参数:参数1,error 指放置错误的标签;参数2,element 指用户当前选中的标签
- 错误样式
$(function(){
$("myForm").validate({
errorElement: "span",//设置标记错误的标签
errorPlacement: function(error, element) {
error.appendTo(element.parent()); //设置位置:追加到选择标签的后面
}
})
}
- 成功样式
- success 通过验证后的动作,若跟字符串,将被当作 css 类,也可跟函数(默认形参label,指放置成功信息的标签)。
- 成功样式
$(function(){
$("myForm").validate({
//后面跟函数
success: function(label) {
label.text("ok!").addClass("valid");
}
})
})
$(function(){
$("myForm").validate({
//后面跟字符串,然后在css中对该类进行样式设置
success: "valid"
})
})
注:errorElement,errorPlacement,success 与rules 平级
css 代码
/*定义错误标签样式*/
span.error{
background:url(…);
}
/*定义成功标签样式*/
span.success{
background:url(…);
}
2.5 自定义验证规则
- 添加自定义规则的方法,语法如下:
jQuery.validator.addMethod(“自定义规则名称”,function(value,element){
//满足条件时,返回判断值
//自定义一个正则表达式,利用正则.test(value)返回结果为布尔值
var reg= var tel = /^[\u4e00-\u9fa5\w\-]{4,20}$/;
//this.optional(element) 若是标签选择状态,则返回true,即用户是保持了表单的required状态
return this.optional(element)||reg.test(value); },”自定义错误提示文字”)
例:
jQuery.validator.addMethod("checkuser",function(value,element){
var reg=/^[\u4e00-\u9fa5\w\-]{4,20}$/;
return this.optional(element)||reg.test(value);
},"用户名输入4-20位中文数字字母下划线");
- 写入 rule
例:(自定义规则:true)
rules:{
username:{
required:true,
checkuser:true
}
}
2.6 实现随机数验证码
- 自定义验证码规则
jQuery.validator.addMethod("checkverify",function(value,element,param){
return this.optional(element)||eval(param)==value;
},"验证码错误");
- 生成随机数
$(function(){
var x = Math.round(Math.random()*10);
})
jQuery 插件运用的更多相关文章
- 自己写jquery插件之模版插件高级篇(一)
需求场景 最近项目改版中,发现很多地方有这样一个操作(见下图gif动画演示),很多地方都有用到.这里不讨论它的用户体验怎么样. 仅仅是从复用的角度,如果每个页面都去写text和select元素,两个b ...
- JQuery插件定义
一:导言 有些WEB开发者,会引用一个JQuery类库,然后在网页上写一写$("#"),$("."),写了几年就对别人说非常熟悉JQuery.我曾经也是这样的人 ...
- BootStrap_04之jQuery插件(导航、轮播)、以及Less
1.列偏移与列排序: ①列偏移:控制列出现的位置,某列偏移后,后序列会随之偏移--只能右偏移: col-lg/md/sm/xs-offset-*; ②列排序:控制某一列的位置,该列可以左(pull)右 ...
- 锋利的jQuery--编写jQuery插件(读书笔记五)[完结篇]
1.表单验证插件Validation 2.表单插件Form 3.动态事件绑定插件livequery 可以为后来的元素绑定事件 类似于jQuery中的live()方法 4.jQuer ...
- 2016年6月份那些最实用的 jQuery 插件专辑
jQuery 是一个快速.流行的 JavaScript 库,jQuery 用于文档处理.事件处理.动画和 Ajax 交互非常简单,学习曲线也很平坦.2016年6月的 jQuery 插件专辑里,我们选择 ...
- 教你开发jQuery插件(转)
教你开发jQuery插件(转) 阅读目录 基本方法 支持链式调用 让插件接收参数 面向对象的插件开发 关于命名空间 关于变量定义及命名 压缩的好处 工具 GitHub Service Hook 原文: ...
- Lazy Load, 延迟加载图片的 jQuery 插件.
Lazy Load 是一个用 JavaScript 编写的 jQuery 插件. 它可以延迟加载长页面中的图片. 在浏览器可视区域外的图片不会被载入, 直到用户将页面滚动到它们所在的位置. 这与图片预 ...
- JS原生ajax与Jquery插件ajax深入学习
序言: 近来随着项目的上线实施,稍微有点空闲,闲暇之时偶然发现之前写的关于javascript原生xmlHttpRequest ajax方法以及后来jquery插件ajax方法,于是就行了一些总结,因 ...
- jquery插件扩展的学习
jquery插件的学习可以点击这里 举个例子 //首先先来一个插件 (function($){ $.fn.extent({ bigfont:function(){ return this.css('f ...
- Jquery 插件\Js 插件收集
1.linq.js 使得js 的数组像c#的linq操作一下样 http://linqjs.codeplex.com/ 2.分页插件 https://github.com/mricle/Mricode ...
随机推荐
- Android 对话框 (AlertDialog)
Android 提供了 AlertDialog 类可通过其内部类 Builder 轻松创建对话框窗口,但是没法对这个对话框窗口进行定制,为了修改 AlertDialog 窗口显示的外观,解决的办法就是 ...
- House of Roman 实战
前言 这是前几天国外一个 老哥 提出的一种思路 ,学习了一下感觉其中的堆布局的手法还不错,做个分享与记录. 这种利用手法的主要特点是不需要 leak libc的地址,通过 堆内存的布局 和 堆相关的漏 ...
- Pwn with File结构体(一)
前言 本文由 本人 首发于 先知安全技术社区: https://xianzhi.aliyun.com/forum/user/5274 利用 FILE 结构体进行攻击,在现在的 ctf 比赛中也经常出现 ...
- 润乾报表在proxool应用下的数据源配置
大多数应用会使用proxool数据连接池,proxool.xml的配置文件如下: <?xml version="1.0″ encoding="UTF-8″?> & ...
- RollViewPager图片轮播效果开源框架的使用
RollViewPager是一个自动轮播的Viewpager, 支持无限循环. 触摸时会暂停播放,直到结束触摸一个延迟周期以后继续播放. 看起来就像这样.指示器可以为点可以为数字还可以自定义,位置也可 ...
- linux 文件搜索命令find、-name、-iname、通配符*?、-size、-user、-group、-amin、-cmin、-mmin、-a、-o、-exec/-ok、-inum
尽可能规划好目录结构,少用文件搜索操作,因为它会占用大量的系统资源 find /bin/find find [搜索范围] [匹配条件] find /etc -name initfind /etc -n ...
- B/S与C/S架构、B/S架构协议
软件有三大类型 单机类型.CS类型(Outlook.QQ.大型游戏).BS类型 BS结构中的协议 在BS结构中,首先使用到DNS协议:网络传输部分使用TCP/IP参考模型,其中网络接入层没有相应协议, ...
- Linux pyenv环境安装
python工作环境管理 pyenv安装: git clone https://github.com/pyenv/pyenv ~/.pyenv echo 'export PYENV_ROOT=&quo ...
- 通过ffplay实现摄像头preview
通过ffplay实现摄像头preview 硬件平台:Jetson TK1 开发板(NVIDIA Tegra K1 Mobile Processor 32bit),宁波舜宇光电SP103A(OV1682 ...
- UIWindow,UINavigationController与UIViewController之间的关系
UIWindow,UINavigationController与UIViewController之间的关系 虽然每次你都用UINavigationController与UIWindow,但你不一定知道 ...