JQuery高级
Posted churujianghudezai
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JQuery高级相关的知识,希望对你有一定的参考价值。
JQuery 高级
1. 动画
2. 遍历
3. 事件绑定
4. 案例
5. 插件
1. 动画
1. 三种方式显示和隐藏元素
1. 默认显示和隐藏方式
1. show([speed,[easing],[fn])
1. 参数:
1. speed:动画的速度。三个预定义的值("slow","normal", "fast")或表示动画时长的毫秒数值(如:1000)
2. easing:用来指定切换效果,默认是"swing",可用参数"linear"
* swing:动画执行时效果是 先慢,中间快,最后又慢
* linear:动画执行时速度是匀速的
3. fn:在动画完成时执行的函数,每个元素执行一次。
2. hide([speed,[easing],[fn])
3. toggle([speed],[easing],[fn])
2. 滑动显示和隐藏方式
1. slideDown([speed],[easing],[fn])
2. slideUp([speed,[easing],[fn])
3. slideToggle([speed],[easing],[fn])
3. 淡入淡出显示和隐藏方式
1. fadeIn([speed],[easing],[fn])
2. fadeOut([speed],[easing],[fn])
3. fadeToggle([speed,[easing],[fn])
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> <script type="text/javascript" src="../js/jquery-3.3.1.min.js"></script> <script> //注:下面的大部分方法没使用参数[easing],[fn] //隐藏div的三种方式 function hideFn(){ /* //默认方式一 $("#showDiv").hide("slow","swing",function(){ alert("隐藏了...") }); */ /* //默认方式二 $("#showDiv").hide(5000,"swing"); */ /* //滑动方式 $("#showDiv").slideUp("slow"); */ //淡入淡出方式 $("#showDiv").fadeOut("slow"); } //显示div的三种方式 function showFn(){ /*//默认方式一 $("#showDiv").show("slow","swing",function(){ alert("显示了...") });*/ /* //默认方式二 $("#showDiv").show(5000,"linear"); */ /* //滑动方式 $("#showDiv").slideDown("slow"); */ //淡入淡出方式 $("#showDiv").fadeIn("slow"); } //切换显示和隐藏div的三种方式 function toggleFn(){ /* //默认方式 $("#showDiv").toggle("slow"); */ /* //滑动方式 $("#showDiv").slideToggle("slow"); */ //淡入淡出方式 $("#showDiv").fadeToggle("slow"); } </script> </head> <body> <input type="button" value="点击按钮隐藏div" onclick="hideFn()"> <input type="button" value="点击按钮显示div" onclick="showFn()"> <input type="button" value="点击按钮切换div显示和隐藏" onclick="toggleFn()"> <div id="showDiv" style="width:300px;height:300px;background:pink"> div显示和隐藏 </div> </body> </html>
2. 遍历
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script src="../js/jquery-3.3.1.min.js" type="text/javascript" charset="utf-8"></script> <script type="text/javascript"> /* 遍历 1. js的遍历方式 * for(初始化值;循环结束条件;步长) 2. jq的遍历方式 1. jq对象.each(callback) 2. $.each(object, [callback]) 3. for..of:jquery 3.0 版本之后提供的方式 */ $(function () { //1.获取所有的ul下的li var citys = $("#city li"); /* //2.遍历li for (var i = 0; i < citys.length; i++) { if("上海" == citys[i].innerHTML){ //break; 结束循环 //continue; //结束本次循环,继续下次循环 } //获取内容 alert(i+":"+citys[i].innerHTML); }*/ //2. jq对象.each(callback) //citys.each(function (index, element) { //3.1 获取li对象 第一种方式 this //alert(this.innerHTML); //alert($(this).html());//将this从js转为jq的写法 //3.2 获取li对象 第二种方式 在回调函数中定义参数 index(索引)element(元素对象) //alert(index+":"+element.innerHTML); //alert(index+":"+$(element).html());//将element从js转为jq的写法 /* //判断如果是上海,则结束循环 if("上海" == $(element).html()){ //如果当前function返回为false,则结束循环(break)。 //如果返回为true,则结束本次循环,继续下次循环(continue) return true; } alert(index+":"+$(element).html()); }); //3. $.each(object, [callback]) $.each(citys,function () { alert($(this).html()); });*/ //4. for ... of:jquery 3.0 版本之后提供的方式 for(li of citys){ alert($(li).html()); } // });
}); </script> </head> <body> <ul id="city"> <li>北京</li> <li>上海</li> <li>天津</li> <li>重庆</li> </ul> </body> </html>
1. js的遍历方式
* for(初始化值;循环结束条件;步长)
//1.获取所有的ul下的li var citys = $("#city li"); //2.遍历li for (var i = 0; i < citys.length; i++) { if("上海" == citys[i].innerHTML){ //break; 结束循环 continue; //结束本次循环,继续下次循环 } //获取内容 alert(i+":"+citys[i].innerHTML);
}
2. jq的遍历方式
1. jq对象.each(callback)
1. 语法:
jquery对象.each(function(index,element){});
* index:就是元素在集合中的索引
* element:就是集合中的每一个元素对象
//2. jq对象.each(callback) citys.each(function (index, element) { //获取li对象 第二种方式 在回调函数中定义参数 index(索引) element(元素对象) //判断如果是上海,则结束循环 if("上海" == $(element).html()){ //如果当前function返回为false,则结束循环(break)。 //return false; //如果返回为true,则结束本次循环,继续下次循环(continue) return true; }
//alert(index+":"+element.innerHTML) alert(index+":"+$(element).html());//将element从js转为jq的写法
});
* this:集合中的每一个元素对象(使用this的弊端是无法获取元素的index)
//2. jq对象.each(callback)
citys.each(function () {
//获取li对象 第一种方式 this
if("上海" == $(this).html()){
//如果当前function返回为false,则结束循环(break)。
//return false;
//如果返回为true,则结束本次循环,继续下次循环(continue)
return true;
}
//alert(this.innerHTML);
alert($(this).html());//将this从js转为jq的写法
2. 回调函数返回值:
* true:如果当前function返回为false,则结束循环(break)。
* false:如果当前function返回为true,则结束本次循环,继续下次循环(continue)
if("上海" == $(this).html()){
//如果当前function返回为false,则结束循环(break)。
//return false;
//如果返回为true,则结束本次循环,继续下次循环(continue)
return true;
}
2. $.each(object, [callback])
$.each(citys,function () {
alert($(this).html());
});
3. for..of: jquery 3.0 版本之后提供的方式
* 语法for(元素对象 of 容器对象)
// for ... of:jquery 3.0 版本之后提供的方式
for(li of citys){
alert($(li).html());
}
以上是关于JQuery高级的主要内容,如果未能解决你的问题,请参考以下文章
Visual Studio 2012-2019的130多个jQuery代码片段。
markdown 在WordPress中使用jQuery代码片段