隐藏和显示
jQuery hide() 和 show()
hide() 和 show() 方法来隐藏和显示 HTML 元素; toggle() 方法来切换 hide() 和 show() 方法(显示被隐藏的元素,并隐藏已显示的元素)。
可选的 speed 参数规定隐藏/显示的速度,可以取以下值:”slow”、”fast” 或毫秒。
可选的 callback 参数是隐藏或显示完成后所执行的函数名称。
(selector).hide(speed,callback);
(selector).show(speed,callback);
$(selector).toggle(speed,callback);
$("#hide").click(function(){
$("p").hide();
});
$("#show").click(function(){
$("p").show();
});
$("button").click(function(){
$("p").toggle();
});
淡入淡出
jQuery 拥有下面四种 fade 方法:
-fadeIn() 用于淡入已隐藏的元素
-fadeOut() 用于淡出可见元素
-fadeToggle() 在 fadeIn() 与 fadeOut() 方法之间进行切换
-fadeTo() 允许渐变为给定的不透明度(值介于 0 与 1 之间)
(selector).fadeIn(speed,callback);
(selector).fadeOut(speed,callback);
(selector).fadeToggle(speed,callback);
(selector).fadeTo(speed,opacity,callback);
<!DOCTYPE html>
<html>
<head>
<script src="/jquery/jquery-1.11.1.min.js"></script>
<script>
$(document).ready(function(){
$("button").click(function(){
$("#div1").fadeTo("slow",0.15);
$("#div2").fadeTo("slow",0.4);
$("#div3").fadeTo("slow",0.7);
});
});
</script>
</head>
<body>
滑动
jQuery 拥有以下滑动方法:
-slideDown() 用于向下滑动元素
-slideUp() 用于向上滑动元素
-slideToggle() 在 slideDown() 与 slideUp() 方法之间进行切换
(selector).slideDown(speed,callback);
(selector).slideUp(speed,callback);
$(selector).slideToggle(speed,callback);
动画
jQuery animate() 方法用于创建自定义动画。
$(selector).animate({params},speed,callback);
必需的 params 参数定义形成动画的 CSS 属性。
$("button").click(function(){
$("div").animate({
left:'250px',
opacity:'0.5',
height:'150px',
width:'150px'
});
});
当使用 animate() 时,必须使用 Camel 标记法书写所有的属性名,比如,必须使用 paddingLeft 而不是 padding-left,使用 marginRight 而不是 margin-right,等等。
同时,色彩动画并不包含在核心 jQuery 库中。
如果需要生成颜色动画,需要从 jQuery.com 下载 Color Animations 插件。
animate() - 使用相对值
可以定义相对值(该值相对于元素的当前值)。需要在值的前面加上 += 或 -=:
$("button").click(function(){
$("div").animate({
left:'250px',
height:'+=150px',
width:'+=150px'
});
});
animate() - 使用预定义的值
$("button").click(function(){
$("div").animate({
height:'toggle'
});
});
animate() - 使用队列功能
默认地,jQuery 提供针对动画的队列功能。
如果在彼此之后编写多个 animate() 调用,jQuery 会创建包含这些方法调用的“内部”队列。然后逐一运行这些 animate 调用。
$("button").click(function(){
var div=$("div");
div.animate({height:'300px',opacity:'0.4'},"slow");
div.animate({width:'300px',opacity:'0.8'},"slow");
div.animate({height:'100px',opacity:'0.4'},"slow");
div.animate({width:'100px',opacity:'0.8'},"slow");
});
停止动画
jQuery stop() 方法
jQuery stop() 方法用于停止动画或效果,在它们完成之前。
stop() 方法适用于所有 jQuery 效果函数,包括滑动、淡入淡出和自定义动画。
$(selector).stop(stopAll,goToEnd);
可选的 stopAll 参数规定是否应该清除动画队列。默认是 false,即仅停止活动的动画,允许任何排入队列的动画向后执行。
可选的 goToEnd 参数规定是否立即完成当前动画。默认是 false。
因此,默认地,stop() 会清除在被选元素上指定的当前动画。
下面的例子演示 stop() 方法,不带参数:
$("#stop").click(function(){
$("#panel").stop();
});
Callback 函数
许多 jQuery 函数涉及动画。这些函数也许会将 speed 或 duration 作为可选参数。
例子:
(“p”).hide(“slow”)speed或duration参数可以设置许多不同的值,比如“slow”,“fast”,“normal”或毫秒。由于JavaScript语句(指令)是逐一执行的−按照次序,动画之后的语句可能会产生错误或页面冲突,因为动画还没有完成。为了避免这个情况,可以以参数的形式添加Callback函数。当动画100语法:
(selector).hide(speed,callback)
callback 参数是一个在 hide 操作完成后被执行的函数。
$("p").hide(1000,function(){
alert("The paragraph is now hidden");
});
希望在一个涉及动画的函数之后来执行语句,使用 callback 函数
Chaining
通过 jQuery,可以把动作/方法链接起来。
Chaining 允许我们在一条语句中允许多个 jQuery 方法(在相同的元素上)。
jQuery 方法链接
链接(chaining)的技术,允许我们在相同的元素上运行多条 jQuery 命令,一条接着另一条。
提示:这样的话,浏览器就不必多次查找相同的元素。
如需链接一个动作,您只需简单地把该动作追加到之前的动作上。
例子 1
下面的例子把 css(), slideUp(), and slideDown() 链接在一起。”p1” 元素首先会变为红色,然后向上滑动,然后向下滑动:
$("#p1").css("color","red").slideUp(2000).slideDown(2000);
如果需要,也可以添加多个方法调用。
提示:当进行链接时,代码行会变得很差。不过,jQuery 在语法上不是很严格;可以按照希望的格式来写,包含折行和缩进。
例子 2
这样写也可以运行:
$("#p1").css("color","red")
.slideUp(2000)
.slideDown(2000);
jQuery 会抛掉多余的空格,并按照一行长代码来执行上面的代码行。