這篇文章主要介紹了jQuery插件學(xué)習(xí)教程之SlidesJs輪播+Validation驗(yàn)證的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
SlidesJs(輪播支持觸屏)——官網(wǎng)(http://slidesjs.com)
1.簡介
SlidesJs是基于Jquery(1.7.1+)的響應(yīng)幻燈片插件。支持鍵盤,觸摸,css3轉(zhuǎn)換。
2.代碼
<!doctype html>
<head>
<style>
/* Prevents slides from flashing */
#slides {
display:none;
}
</style>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script src="jquery.slides.min.js"></script>
<script>
$(function(){
$("#slides").slidesjs({
width: 940,
height: 528
});
});
</script>
</head>
<body>
<div id="slides">
<img src="http://placehold.it/940x528">
<img src="http://placehold.it/940x528">
<img src="http://placehold.it/940x528">
<img src="http://placehold.it/940x528">
<img src="http://placehold.it/940x528">
</div>
</body>
API簡介
1.設(shè)置輪播的寬高(默認(rèn)值都為 auto)
$("#slides").slidesjs({
width: 700,
height: 393
});
2.設(shè)置從那張開始(默認(rèn)值為 1)
$("#slides").slidesjs({
start: 3 //這里注意數(shù)值從1開始,不是0;默認(rèn)值0
});
3.設(shè)置上下切換按鈕
可以自定樣式:
<a class="slidesjs-previous slidesjs-navigation" href="#" title="Previous">Previous</a>
<a class="slidesjs-next slidesjs-navigation" href="#" title="Next">Next</a>
$("#slides").slidesjs({
navigation: {
active: true, //顯示或隱藏前一張后一張切換按鈕;默認(rèn)值為true,
effect: "slide" //設(shè)置切換的方式,slide:平滑,fade:漸顯;默認(rèn)值slide
}
});
4.設(shè)置分頁切換
可以自定樣式:
<ul class="slidesjs-pagination"> <li class="slidesjs-pagination-item"><a href="#" data-slidesjs-item="0" class="active">1</a></li> <li class="slidesjs-pagination-item"><a href="#" data-slidesjs-item="1">2</a></li> <li class="slidesjs-pagination-item"><a href="#" data-slidesjs-item="2">3</a></li> <li class="slidesjs-pagination-item"><a href="#" data-slidesjs-item="3">4</a></li></ul>
$("#slides").slidesjs({
pagination: {
active: true, //顯示或隱藏 分頁;默認(rèn)值true
effect: "slide" //這里可以設(shè)置切換方式,跟上下頁切換一樣,但是跟上下頁不沖突;默認(rèn)值slide
}
});
5.自動播放
可以自定樣式:
<a class="slidesjs-play slidesjs-navigation slidesjs-playing" href="#" title="Play" style="display: none;">Play</a>
<a class="slidesjs-stop slidesjs-navigation" href="#" title="Stop" style="">Stop</a>
$("#slides").slidesjs({
play: {
active: true, //開始自動播放功能;默認(rèn)值true
effect: "slide", //切換方式,跟上面兩個切換方式不沖突;默認(rèn)值slide
interval: 5000, //在每一個幻燈片上花費(fèi)的時間;默認(rèn)值5000
auto: false, //開始自動播放;默認(rèn)值false
swap: true, //顯示或隱藏 自動播放和停止按鈕;默認(rèn)值true
pauseOnHover: false, //鼠標(biāo)移入是否暫停;默認(rèn)值false
restartDelay: 2500 //重啟延遲;默認(rèn)值2500
}
});
6.效果配置
$("#slides").slidesjs({ effect: {
slide: {
speed: 200 //切換花費(fèi)的時間;默認(rèn)值200
},
fade: {
speed: 300, //切換花費(fèi)的時間;默認(rèn)值300
crossfade: true //交叉切換,設(shè)置為false,會看到背景色;默認(rèn)值true
}
}
});
7.回調(diào)函數(shù)
$("#slides").slidesjs({
callback: {
loaded: function(number) {
// 幻燈片載入完成時
},
start: function(number) {
// 切換開始時
},
complete: function(number) {
// 切換結(jié)束時
}
}
});
validation(表單驗(yàn)證)——官網(wǎng)(http://jqueryvalidation.org)
以下是針對:jQuery Validation Plugin - v1.15.0 - 2/24/2016 版本
注意:jquery Vaildation Engine 跟以下講的不是同一款插件
示例:
<form action="" id="demo">
<label for="username">用戶名</label><input type="text" name="username" id="username"><br/>
<label for="password">密碼</label><input type="text" name="password" id="password"><br/>
<label for="password_confirm">確認(rèn)密碼</label><input type="text" name="password_confirm"><br/>
<label for="email">email</label><input type="text" name="email"><br/>
<input type="submit" value="提交">
</form>
<script>
$(function(){
$('#demo').validate({
rules: { //規(guī)則
username: { //這邊的username,取得是form里面 name的值
required: true, //必填項
minlength: 2, //最小長度
remote: "http://taojiaqu.com" //url驗(yàn)證配對,只能返回true或false
},
password: {
required: true,
minlength: 5
},
password_confirm: {
required: true,
minlength: 5,
equalTo: "#password"
},
email: {
required: true,
email: true,
remote: "http://taojiaqu.com"
}
},
messages: { //錯誤顯示,跟上面的一一對應(yīng),沒有設(shè)置的話,會顯示默認(rèn)的
username: {
required: '請輸入用戶名',
minlength: '用戶名最小為2',
remote: "該用戶名被使用了"
},
password: {
required: '請輸入密碼',
minlength: '密碼最小長度為5'
},
password_confirm: {
required: '請確認(rèn)密碼',
minlength: '密碼最小長度為5',
equalTo: "兩次密碼不一致"
},
email: {
required: '請輸入郵箱',
email: '您輸入的郵箱不對',
remote: '該郵箱已被實(shí)用'
}
},
errorElement: "b", //設(shè)置錯誤標(biāo)簽 b
errorPlacement: function(error, element) { //錯誤操作,error錯誤信息,element錯誤input對象
element.after(error);
},
submitHandler: function() { //點(diǎn)擊提交表單回調(diào)函數(shù),如果還有驗(yàn)證不通過擇提示錯誤信息,不執(zhí)行該函數(shù)
},
success: function(label,element) { //驗(yàn)證通過的函數(shù) //element:input對象 //labal:提示信息的對象
},
highlight: function(element, errorClass, validClass) { //上一個驗(yàn)證不通過的話,執(zhí)行該函數(shù) //element:input對象 //errorClass:錯誤class類名 //validClass: 確認(rèn)class類名
},
unhighlight:function(element, errorClass, validClass){ //上一個驗(yàn)證通過的話,執(zhí)行該函數(shù)
}
})
})
</script>
API
1.1方法
validate() – Validates 核心方法
$('#demo').validate({
rules: {
//。。。
},
messages: {
//。。。
}
})
valid() – 驗(yàn)證表單是否通過,返回true或false
$('#taojiaqu').validate()
alert($('#taojiaqu').valid());
rules() – 讀取、添加和刪除一個元素的規(guī)則
$( "#myinput" ).rules(); //返回一個規(guī)則對象$( "#myinput" ).rules( "add", {
required: true,
minlength: 2,
messages: {
required: "Required input",
minlength: jQuery.validator.format("Please, at least {0} characters are necessary")
}
});
$( "#myinput" ).rules( "remove" );//移除全部
$( "#myinput" ).rules( "remove", "min max" );//移除min max
1.2公共方法
Validator.form() – 驗(yàn)證表單
Validator.element() – 驗(yàn)證指定的 input
validator.element( "#myselect" );
Validator.resetForm() – 重置表單
Validator.showErrors() – 顯示錯誤信息
Validator.numberOfInvalids() – 返回錯誤的字段數(shù)
1.3靜態(tài)方法
jQuery.validator.addMethod( name, method [, message ] ) – 添加自定義驗(yàn)證方法
//返回true或falsejQuery.validator.addMethod("domain", function(value, element) {
return this.optional(element) || /^http:\/\/taojiaqu.com/.test(value);
}, "錯誤信息");
jQuery.validator.format( template, argument, argumentN… ) – 格式化字符串
var format=jQuery.validator.format("{0}--{1}--{2}");
console.log(format("a","b","c")); //a--b--c
jQuery.validator.setDefaults() – 修改默認(rèn)設(shè)置
jQuery.validator.setDefaults({
debug: true //所有的都設(shè)置debug模式
});
jQuery.validator.addClassRules() – 統(tǒng)一添加某個類的 校驗(yàn)規(guī)則
//添加class為name的校驗(yàn)規(guī)則:必填,最小長度為2jQuery.validator.addClassRules("name", {
required: true,
minlength: 2
});
2.選擇器
:blank – 選擇value值為空的input
:filled – 選擇value有值的input
:unchecked – 選擇未被選中的 checkbox
3.驗(yàn)證規(guī)則
required – 必填,默認(rèn)true
remote – 遠(yuǎn)程請求驗(yàn)證,請求地址返回true或false
minlength – 最小長度,中文字算1個字符
maxlength – 最大長度
rangelength – 給定長度范圍,例:[2,5]
min – 最小值,數(shù)值型
max – 最大值
range – 給定最大最小取值范圍,例:[2,100]
step – 設(shè)置步驟
email – 必須是一個郵箱email格式
url – 必須是一個地址url
date – 必須輸入正確格式的日期
dateISO – 必須輸入正確格式的日期(ISO),例如:2009-06-23,1998/01/22 只驗(yàn)證格式,不驗(yàn)證有效性
number – 必須輸入合法的數(shù)字(負(fù)數(shù),小數(shù))
digits – 必須輸入整數(shù)
equalTo:'#abc' – 輸入值必須和#abc相同
以下驗(yàn)證規(guī)則需加載——additional-methods.min.js
accept – 驗(yàn)證上傳的文件MINE類型,例:accept:"image" ;多種類型逗號(,)隔開
creditcard – 驗(yàn)證信用卡卡號
extension – 驗(yàn)證上傳的文件的后綴,例:extension:"dll|exe" ;;多種類型逗號(|)隔開
phoneUS – 驗(yàn)證是否為美國號碼
require_from_group – 設(shè)置類目中有N個是必填項
mobile_phone: {
require_from_group: [1, ".phone-group"] //這邊的1表示 三項中只需要填寫一項就可以,后面是class名
},
home_phone: {
require_from_group: [1, ".phone-group"]
},
work_phone: {
require_from_group: [1, ".phone-group"]
}
4.validate()方法的配置項
debug — 開啟關(guān)閉debug模式,阻止提交
$(".selector").validate({
debug: true
});
submitHandler — 通過驗(yàn)證后運(yùn)行的函數(shù),可以加上表單的提交方法
$(".selector").validate({
submitHandler: function(form) {
$(form).ajaxSubmit();
}
});
$(".selector").validate({
submitHandler: function(form) {
form.submit();
}
});
invalidHandler — 驗(yàn)證沒通過,提交時觸發(fā)的方法
$(".selector").validate({
invalidHandler: function(event, validator) {
//event :自定義事件對象
//validator:當(dāng)前驗(yàn)證的實(shí)例
}
});
ignore — 對某些元素不進(jìn)行驗(yàn)證
?
1
2
3
$("#myform").validate({
ignore: ".ignore"
});
rules — 定義校驗(yàn)規(guī)則,有個隱藏的參數(shù) depends:在滿足什么條件下才驗(yàn)證次規(guī)則
$(".selector").validate({
rules: {
name: "required",
email: {
required: true,
email: true
}
}
}); $(".selector").validate({
rules: {
name: { depends:function(element){reruen true;} //返回true的話才校驗(yàn),name是否必填 },
email: {
email: true, min:{ param:15, //單獨(dú)值的話 用param 代替 depends:function(element){reruen true;} }
}
}
});
messages — 定義提示信息
$(".selector").validate({
rules: {
name: "required",
email: {
required: true,
email: true
}
},
messages: {
name: "請輸入您的名字",
email: {
required: "請輸入的的郵箱",
email: "請輸入正確的郵箱地址"
}
}
});
groups — 對一組元素的驗(yàn)證,用一個錯誤提示,用errorPlacement 控制出錯信息的位置
$("#myform").validate({
groups: {
username: "fname lname"
},
errorPlacement: function(error, element) {
if (element.attr("name") == "fname" || element.attr("name") == "lname" ) {
error.insertAfter("#lastname");
} else {
error.insertAfter(element);
}
}
});
onsubmit —是否在提交時驗(yàn)證
onfocusout —是否在獲取焦點(diǎn)時驗(yàn)證
onkeyup — 是否在敲擊鍵盤時驗(yàn)證
onclick — 是否在鼠標(biāo)點(diǎn)擊數(shù)驗(yàn)證
focusInvlid — 提交表單,未通過驗(yàn)證的表單是否獲得焦點(diǎn)(默認(rèn)第一個)
focusCleanup — 提交表單,未通過驗(yàn)證的表單是否移除錯誤信息
errorClass — 指定錯誤提示的class類名
validClass — 指定驗(yàn)證通過的class類名
errorElement — 使用什么標(biāo)記錯誤標(biāo)簽
$(".selector").validate({
errorElement: "em"
});
//<em>錯誤信息</em>
wrapper — 使用什么標(biāo)簽把上面的errorElement 包起來
errorLableContainer — 把錯誤信息統(tǒng)一放在一個容器里面
errorContainer — 顯示或隱藏驗(yàn)證信息,可以自動實(shí)現(xiàn)有錯誤信息出現(xiàn)時把容器屬性變?yōu)轱@示,無錯誤時隱藏
showErrors — 可以顯示總的多少個未通過驗(yàn)證
errorPlacement:function(error,element) — 自定義錯誤信息的位置,error:錯誤信息、element:驗(yàn)證的元素
success — 要驗(yàn)證的元素通過驗(yàn)證后的回調(diào)
highlight — 可以為未通過的元素加效果
unhighlight — 可以為通過的元素加效果
以上所述是小編給大家介紹的jQuery插件學(xué)習(xí)教程之SlidesJs輪播+Validation驗(yàn)證,希望對大家有所幫助