1.隐藏/显示
jQuery hide() 和 show()
<head>
<meta charset="utf-8">
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js">
</script>
<script>
$(document).ready(function(){
//当点击id为hide的按钮元素时,隐藏文本元素p
$("#hide").click(function(){
$("p").hide();
});
//当点击id为show的按钮元素时,显示文本元素p
$("#show").click(function(){
$("p").show();
});
});
</script>
</head>
//HTML主体
<body>
<p>隐藏与显示</p>
<button id="hide">隐藏</button>
<button id="show">显示</button>
</body>
</html>
可选的 speed 参数规定隐藏/显示的速度,可以取以下值:"slow"、"fast" 或毫秒。
可选的 callback 参数是隐藏或显示完成后所执行的函数名称。
$(selector).hide(speed,callback);
$(selector).show(speed,callback);
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js">
</script>
<style>
/* div样式 */
div{
width: 130px;
height: 50px;
padding: 15px;
margin: 15px;
background-color: green;
}
</style>
<!-- 功能代码段 -->
<script>
$(document).ready(function(){
//点击类名为hidebtn的元素
$(".hidebtn").click(function(){
//隐藏div元素,为其设置参数和函数
$("div").hide(1000,"linear",
//函数,弹窗提示,下类似
function(){
alert("Hide()方法已完成!");
}
);
});
$(".hidebtn1").click(function(){
$("div").show(1000,"linear",
function(){
alert("Show()方法已完成!");
}
);
});
});
</script>
</head>
<body>
<!-- div元素 -->
<div>111111111111</div>
<!-- 两个按钮,类名不同 -->
<button class="hidebtn">隐藏</button>
<button class="hidebtn1">显示</button>
</body>
</html>
toggle()方法集成hide()和show()方法:显示被隐藏的元素,并隐藏被显示的元素。
$(document).ready(function(){
$("button").click(function(){
$("p").toggle();
});
});
2.淡入淡出
fadeIn() 用于淡入已隐藏的元素
可选的 speed 参数规定效果的时长。它可以取以下值:"slow"、"fast" 或毫秒。.
可选的 callback 参数是 fading 完成后所执行的函数名称。
//写法
$(selector).fadeIn(speed,callback);
//实例
$("button").click(function(){
$("#div1").fadeIn();
$("#div2").fadeIn("slow");
$("#div3").fadeIn(3000);
});
fadeOut() 方法用于淡出可见元素
//写法
$(selector).fadeOut(speed,callback);
//实例
$("button").click(function(){
$("#div1").fadeOut();
$("#div2").fadeOut("slow");
$("#div3").fadeOut(3000);
});
fadeToggle() 方法集成 fadeIn() 与 fadeOut() 方法,他们之间进行相互切换。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>111111</title>
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js">
</script>
//javascript代码块
<script>
$(document).ready(function(){
$("button").click(function(){
$("#div1").fadeToggle();
$("#div2").fadeToggle("slow");
$("#div3").fadeToggle(3000);
});
});
</script>
</head>
<body>
<p>演示了不同参数</p>
<button>点击淡入/淡出</button>
<br><br>
<div id="div1" style="width:80px;height:80px;background-color:red;"></div>
<br>
<div id="div2" style="width:80px;height:80px;background-color:green;"></div>
<br>
<div id="div3" style="width:80px;height:80px;background-color:blue;"></div>
</body>
</html>
fadeTo() 方法允许渐变为给定的不透明度(值介于 0 与 1 之间)
$("button").click(function(){
$("#div1").fadeTo("slow",0.15);
$("#div2").fadeTo("slow",0.4);
$("#div3").fadeTo("slow",0.7);
});
3.滑动
slideDown() 方法用于向下滑动元素
可选的 speed 参数规定效果的时长。它可以取以下值:"slow"、"fast" 或毫秒。
可选的 callback 参数是滑动完成后所执行的函数名称。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js">
</script>
//代码段,点击id为flip的元素,会下滑出id为panel的元素
<script>
$(document).ready(function(){
$("#flip").click(function(){
$("#panel").slideDown("slow");
});
});
</script>
//css样式
<style type="text/css">
//id的样式
#panel,#flip
{
padding:5px;
text-align:center;
background-color:#e5eecc;
border:solid 1px #c3c3c3;
}
#panel
{
padding:50px;
//隐藏id为panel的元素
display:none;
}
</style>
</head>
<body>
<div id="flip">点我滑下</div>
<div id="panel">Hello world!</div>
</body>
</html>
slideUp() 方法用于向上滑动元素。
$("#flip").click(function(){
$("#panel").slideUp();
});
slideToggle() 方法集成slideDown()与slideUp() 方法。
$("#flip").click(function(){
$("#panel").slideToggle();
});
4.动画
animate() 方法用于创建自定义动画。
//左移250像素
$("button").click(function(){
$("div").animate({left:'250px'});
});
animate() - 操作多个属性。
$("button").click(function(){
$("div").animate({
left:'250px',
//颜色的深浅
opacity:'0.5',
height:'150px',
width:'150px'
});
});
animate() - 使用相对值
定义相对值(该值相对于元素的当前值)。需要在值的前面加上 += 或 -=:
$("button").click(function(){
$("div").animate({
left:'250px',
//相对于目前位置右移150元素
height:'+=150px',
//相对于目前位置左移150元素
width:'+=150px'
});
});
animate() - 使用预定义的值
可以把属性的动画值设置为 "show"、"hide" 或 "toggle"
$("button").click(function(){
$("div").animate({
//高度参数,可显示和隐藏,另外可用show hide
height:'toggle'
});
});
animate() - 使用队列功能
$("button").click(function(){
var div=$("div");
//高度变为300px
div.animate({height:'300px',opacity:'0.4'},"slow");
//宽度变为300px
div.animate({width:'300px',opacity:'0.8'},"slow");
//高度变为100px
div.animate({height:'100px',opacity:'0.4'},"slow");
//宽度变为100px
div.animate({width:'100px',opacity:'0.8'},"slow");
});
$("button").click(function(){
//定义一个div
var div=$("div");
//操作div,左移100像素
div.animate({left:'100px'},"slow");
//字体变为3em
div.animate({fontSize:'3em'},"slow");
});
5.停止动画
stop() 方法用于停止动画或效果,在它们完成之前
适用于所有 jQuery 效果函数,包括滑动、淡入淡出和自定义动画。
可选的 stopAll 参数规定是否应该清除动画队列。默认是 false,即仅停止活动的动画,允许任何排入队列的动画向后执行。
可选的 goToEnd 参数规定是否立即完成当前动画。默认是 false。
因此,默认地,stop() 会清除在被选元素上指定的当前动画。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js">
</script>
<script>
$(document).ready(function(){
//点击id为flip的元素
$("#flip").click(function(){
//id为panel的元素向下滑动5秒
$("#panel").slideDown(5000);
});
//点击id为stop的元素
$("#stop").click(function(){
//点击id为panel的元素
$("#panel").stop();
});
});
</script>
<style type="text/css">
//定义元素的类型
#panel,#flip
{
padding:5px;
text-align:center;
background-color:#e5eecc;
border:solid 1px #c3c3c3;
}
#panel
{
padding:50px;
display:none;
}
</style>
</head>
<body>
//一个按钮
<button id="stop">停止滑动</button>
//一个div
<div id="flip">点我向下滑动面板</div>
<div id="panel">Hello world!</div>
</body>
</html>
6.Callback
Callback 函数在当前动画 100% 完成之后执行。
//使用callback回调
//在元素p隐藏后出现弹窗
$("button").click(function(){
$("p").hide("slow",function(){
alert("段落现在被隐藏了");
});
});
//不使用callback回调
//在弹窗结束后隐藏p
$("button").click(function(){
$("p").hide(1000);
alert("段落现在被隐藏了");
});
7.链(Chaining)
允许我们在相同的元素上运行多条 jQuery 命令,一条接着另一条。把 css()、slideUp() 和 slideDown() 链接在一起。"p1" 元素首先会变为红色,然后向上滑动,再然后向下滑动:
$("#p1").css("color","red").slideUp(2000).slideDown(2000);