一、动画

三种方式显示和隐藏元素

1、默认显示和隐藏方式

1)、show([speed,[easing],[fn]])([easing],[fn]可省略)

参数:

(1)、speed:动画的速度。三个预定义的值("slow","normal", "fast")或表示动画时长的 毫秒数值(如:1000)(毫秒值不加双引号)

(2)、easing:用来指定切换效果,(不写的话)默认是"swing",可用参数"linear"

  swing:动画执行时效果是 先慢,中间快,最后又慢

  linear:动画执行时速度是匀速的

(3)、fn:在动画完成时执行的函数,每个元素执行一次。(fn参数可以不写)

$("#showDiv").show(5000,"linear");

2)、hide([speed,[easing],[fn]])

$("#showDiv").hide(5000,"swing");

3)、toggle([speed,[easing],[fn])

$("#showDiv").toggle("slow");

2、滑动显示和隐藏方式

 1)、slideDown([speed,[easing],[fn])显示

$("#showDiv").slideDown("slow");

2)、slideUp([speed,[easing],[fn]])隐藏

$("#showDiv").slideUp("slow");

3)、slideToggle([speed],[easing],[fn])

$("#showDiv").slideToggle("slow");

3、淡入淡出显示和隐藏方式

1)、fadeIn([speed],[easing],[fn])显示

$("#showDiv").fadeIn("slow");

2)、fadeOut([speed],[easing],[fn])隐藏

$("#showDiv").fadeOut("slow");

3)、fadeToggle([speed,[easing],[fn]])

$("#showDiv").fadeToggle("slow");

4、jQuery 效果方法

方法描述
animate() 对被选元素应用"自定义"的动画
clearQueue() 对被选元素移除所有排队函数(仍未运行的)
delay() 对被选元素的所有排队函数(仍未运行)设置延迟
dequeue() 移除下一个排队函数,然后执行函数
fadeIn() 逐渐改变被选元素的不透明度,从隐藏到可见
fadeOut() 逐渐改变被选元素的不透明度,从可见到隐藏
fadeTo() 把被选元素逐渐改变至给定的不透明度
fadeToggle() 在 fadeIn() 和 fadeOut() 方法之间进行切换
finish() 对被选元素停止、移除并完成所有排队动画
hide() 隐藏被选元素
queue() 显示被选元素的排队函数
show() 显示被选元素
slideDown() 通过调整高度来滑动显示被选元素
slideToggle() slideUp() 和 slideDown() 方法之间的切换
slideUp() 通过调整高度来滑动隐藏被选元素
stop() 停止被选元素上当前正在运行的动画
toggle() hide() 和 show() 方法之间的切换

二、遍历

1、js的遍历方式

for(初始化值;循环结束条件;步长)

$(function () {
    var citys = $("#city 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),即each()循环

语法:jquery对象.each(function(index,element){});

  index:就是元素在集合中的索引

  element:就是集合中的每一个元素对象

  this:集合中的每一个元素对象(element==this)

回调函数返回值:

  true:如果当前function返回为false,则结束循环(break)。

  false:如果当前function返回为true,则结束本次循环,继续下次循环(continue)

第一种方式:

$(function () {
    var citys = $("#city li");
    citys.each(function () {//第一种方式this,在回调函数中不定义参数,不能获取索引
        //alert(this.innerHTML);//this是js对象
        //alert($(this).html());//使用jQuery方式
        if("上海" == $(element).html()){
            return false;//如果当前function返回为false,则结束循环(break)。
        }
        alert(index+":"+$(element).html());
    });
 });

$(this):选取当前 HTML 元素.

第二种方式:

$(function () {
    var citys = $("#city li");//citys是一个元素在集合,有index,element
    citys.each(function (index,element) {//第二种方式 在回调函数中定义参数
        //alert(index+":"+element.innerHTML);//element是js对象
        //alert(index+":"+$(element).html());//使用jQuery方式
        if("上海" == $(element).html()){
            return true; //如果返回为true,则结束本次循环,继续下次循环(continue)
        }
        alert(index+":"+$(element).html());
    });
 });

2)、$.each(object, [callback])//全局遍历方式,(object可以传递js数组对象),也是each()循环

$(function () {
    var citys = $("#city li");
    $.each(citys,function () {
    alert($(this).html());
});

3)、for..of: jquery 3.0 版本之后提供的方式,for循环

语法:for(元素对象 of 容器对象)

$(function () {
    var citys = $("#city li");
    for(li of citys){
    alert($(li).html());
    }
});

3、jQuery 遍历 方法

方法描述
add() 把元素添加到匹配元素的集合中
addBack() 把之前的元素集添加到当前集合中
andSelf() 在版本 1.8 中被废弃。addBack() 的别名
children() 返回被选元素的所有直接子元素
closest() 返回被选元素的第一个祖先元素
contents() 返回被选元素的所有直接子元素(包含文本和注释节点)
each() 为每个匹配元素执行函数
end() 结束当前链中最近的一次筛选操作,并把匹配元素集合返回到前一次的状态
eq() 返回带有被选元素的指定索引号的元素
filter() 把匹配元素集合缩减为匹配选择器或匹配函数返回值的新元素
find() 返回被选元素的后代元素
first() 返回被选元素的第一个元素
has() 返回拥有一个或多个元素在其内的所有元素
is() 根据选择器/元素/jQuery 对象检查匹配元素集合,如果存在至少一个匹配元素,则返回 true
last() 返回被选元素的最后一个元素
map() 把当前匹配集合中的每个元素传递给函数,产生包含返回值的新 jQuery 对象
next() 返回被选元素的后一个同级元素
nextAll() 返回被选元素之后的所有同级元素
nextUntil() 返回介于两个给定参数之间的每个元素之后的所有同级元素
not() 从匹配元素集合中移除元素
offsetParent() 返回第一个定位的父元素
parent() 返回被选元素的直接父元素
parents() 返回被选元素的所有祖先元素
parentsUntil() 返回介于两个给定参数之间的所有祖先元素
prev() 返回被选元素的前一个同级元素
prevAll() 返回被选元素之前的所有同级元素
prevUntil() 返回介于两个给定参数之间的每个元素之前的所有同级元素
siblings() 返回被选元素的所有同级元素
slice() 把匹配元素集合缩减为指定范围的子集

三、事件绑定

1、 jquery标准的绑定方式

语法:jq对象.事件方法(回调函数);

注:如果调用事件方法,不传递回调函数,则会触发浏览器默认行为。

表单对象.submit();//让表单提交

$("#name").mouseover(function () {//链式编程
    alert("鼠标来了...")
}).mouseout(function () {
    alert("鼠标走了...")
});*/
$("#name").focus();//让文本输入框获得焦点
$("form:first").submit();//让表单提交

2、on绑定事件/off解除绑定

jq对象.on("事件名称",回调函数)(多个事件名称用空格分隔)

jq对象.off("事件名称")

如果off方法不传递任何参数,则将组件上的所有事件全部解绑

$(function () {
   $("#btn").on("click mouseout",function () {
       alert("我被点击了。。。")
   }) ;
    $("#btn2").click(function () {
        //$("#btn").off("click"); //解除btn按钮的单击事件
        $("#btn").off();//将组件上的所有事件全部解绑
    });
});

3、事件切换:toggle

jq对象.toggle(fn1,fn2...)

当单击jq对象对应的组件后,会执行fn1.第二次点击会执行fn2.....

注意:1.9版本 .toggle() 方法删除,jQuery Migrate(迁移)插件可以恢复此功能。

<script src="../js/jquery-migrate-1.0.0.js" type="text/javascript" charset="utf-8"></script>
$("#btn").toggle(function () {
       $("#myDiv").css("backgroundColor","green");
   },function () {
       $("#myDiv").css("backgroundColor","pink");
});

 

posted on 2021-12-29 10:18  周文豪  阅读(66)  评论(0编辑  收藏  举报