1. fullpage 插件(全屏)

官网:http://www.jq22.com/

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 插件运用的更多相关文章

  1. 自己写jquery插件之模版插件高级篇(一)

    需求场景 最近项目改版中,发现很多地方有这样一个操作(见下图gif动画演示),很多地方都有用到.这里不讨论它的用户体验怎么样. 仅仅是从复用的角度,如果每个页面都去写text和select元素,两个b ...

  2. JQuery插件定义

    一:导言 有些WEB开发者,会引用一个JQuery类库,然后在网页上写一写$("#"),$("."),写了几年就对别人说非常熟悉JQuery.我曾经也是这样的人 ...

  3. BootStrap_04之jQuery插件(导航、轮播)、以及Less

    1.列偏移与列排序: ①列偏移:控制列出现的位置,某列偏移后,后序列会随之偏移--只能右偏移: col-lg/md/sm/xs-offset-*; ②列排序:控制某一列的位置,该列可以左(pull)右 ...

  4. 锋利的jQuery--编写jQuery插件(读书笔记五)[完结篇]

    1.表单验证插件Validation   2.表单插件Form   3.动态事件绑定插件livequery 可以为后来的元素绑定事件   类似于jQuery中的live()方法     4.jQuer ...

  5. 2016年6月份那些最实用的 jQuery 插件专辑

    jQuery 是一个快速.流行的 JavaScript 库,jQuery 用于文档处理.事件处理.动画和 Ajax 交互非常简单,学习曲线也很平坦.2016年6月的 jQuery 插件专辑里,我们选择 ...

  6. 教你开发jQuery插件(转)

    教你开发jQuery插件(转) 阅读目录 基本方法 支持链式调用 让插件接收参数 面向对象的插件开发 关于命名空间 关于变量定义及命名 压缩的好处 工具 GitHub Service Hook 原文: ...

  7. Lazy Load, 延迟加载图片的 jQuery 插件.

    Lazy Load 是一个用 JavaScript 编写的 jQuery 插件. 它可以延迟加载长页面中的图片. 在浏览器可视区域外的图片不会被载入, 直到用户将页面滚动到它们所在的位置. 这与图片预 ...

  8. JS原生ajax与Jquery插件ajax深入学习

    序言: 近来随着项目的上线实施,稍微有点空闲,闲暇之时偶然发现之前写的关于javascript原生xmlHttpRequest ajax方法以及后来jquery插件ajax方法,于是就行了一些总结,因 ...

  9. jquery插件扩展的学习

    jquery插件的学习可以点击这里 举个例子 //首先先来一个插件 (function($){ $.fn.extent({ bigfont:function(){ return this.css('f ...

  10. Jquery 插件\Js 插件收集

    1.linq.js 使得js 的数组像c#的linq操作一下样 http://linqjs.codeplex.com/ 2.分页插件 https://github.com/mricle/Mricode ...

随机推荐

  1. Android 对话框 (AlertDialog)

    Android 提供了 AlertDialog 类可通过其内部类 Builder 轻松创建对话框窗口,但是没法对这个对话框窗口进行定制,为了修改 AlertDialog 窗口显示的外观,解决的办法就是 ...

  2. House of Roman 实战

    前言 这是前几天国外一个 老哥 提出的一种思路 ,学习了一下感觉其中的堆布局的手法还不错,做个分享与记录. 这种利用手法的主要特点是不需要 leak libc的地址,通过 堆内存的布局 和 堆相关的漏 ...

  3. Pwn with File结构体(一)

    前言 本文由 本人 首发于 先知安全技术社区: https://xianzhi.aliyun.com/forum/user/5274 利用 FILE 结构体进行攻击,在现在的 ctf 比赛中也经常出现 ...

  4. 润乾报表在proxool应用下的数据源配置

     大多数应用会使用proxool数据连接池,proxool.xml的配置文件如下: <?xml version="1.0″ encoding="UTF-8″?> & ...

  5. RollViewPager图片轮播效果开源框架的使用

    RollViewPager是一个自动轮播的Viewpager, 支持无限循环. 触摸时会暂停播放,直到结束触摸一个延迟周期以后继续播放. 看起来就像这样.指示器可以为点可以为数字还可以自定义,位置也可 ...

  6. 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 ...

  7. B/S与C/S架构、B/S架构协议

    软件有三大类型 单机类型.CS类型(Outlook.QQ.大型游戏).BS类型 BS结构中的协议 在BS结构中,首先使用到DNS协议:网络传输部分使用TCP/IP参考模型,其中网络接入层没有相应协议, ...

  8. Linux pyenv环境安装

    python工作环境管理 pyenv安装: git clone https://github.com/pyenv/pyenv ~/.pyenv echo 'export PYENV_ROOT=&quo ...

  9. 通过ffplay实现摄像头preview

    通过ffplay实现摄像头preview 硬件平台:Jetson TK1 开发板(NVIDIA Tegra K1 Mobile Processor 32bit),宁波舜宇光电SP103A(OV1682 ...

  10. UIWindow,UINavigationController与UIViewController之间的关系

    UIWindow,UINavigationController与UIViewController之间的关系 虽然每次你都用UINavigationController与UIWindow,但你不一定知道 ...