jQuery效果之隱藏與顯示、淡入淡出、滑動、回撥
阿新 • • 發佈:2018-12-25
1. 隱藏與顯示
通過 jQuery,可以使用 hide() 和 show() 方法來隱藏和顯示 HTML 元素,可以使用 toggle() 方法來切換 hide() 和 show() 方法。
語法:
$(selector).hide(speed,callback);
$(selector).show(speed,callback);
$(selector).toggle(speed,callback);
可選的 speed 引數規定隱藏/顯示的速度,可以取以下值:”slow”、”fast” 或毫秒。
可選的 callback 引數是隱藏或顯示完成後所執行的函式名稱。
<script>
for(var i=0;i<5;i++){
$("<div>").appendTo(document.body);
}
$("div").click(function () {
$(this).hide(2000,function () {
$(this).remove();
});
});
</script>
2. 淡入淡出
jQuery 擁有下面四種 fade 方法:
- fadeIn()-用於淡入已隱藏的元素。
- fadeOut()-用於淡出可見元素。
- fadeToggle()-可以在 fadeIn() 與 fadeOut() 方法之間進行切換。
如果元素已淡出,則 fadeToggle() 會向元素新增淡入效果。
如果元素已淡入,則 fadeToggle() 會向元素新增淡出效果。- fadeTo()-允許漸變為給定的不透明度(值介於 0 與 1 之間)。
語法:
$(selector).fadeIn(speed,callback);
$(selector).fadeOut(speed,callback);
$(selector).fadeToggle(speed,callback);
$( selector).fadeTo(speed,opacity,callback);
可選的 speed 引數規定效果的時長。它可以取以下值:”slow”、”fast” 或毫秒。
可選的 callback 引數是 fading 完成後所執行的函式名稱。
fade.html
<button id="in">fadeIn</button>
<button id="out">fadeOut</button>
<button id="toggle">fadeToggle</button>
<button id="to">fadeTo</button>
<div id="div1" style="width: 80px;height: 80px;display:none;background-color: aqua"></div>
<div id="div2" style="width: 80px;height: 80px;display:none;background-color: chartreuse"></div>
<div id="div3" style="width: 80px;height: 80px;display:none;background-color: coral"></div>
fade.js
$(document).ready(function () {
$("#in").on("click",function () {
$("#div1").fadeIn(1000);
$("#div2").fadeIn(1000);
$("#div3").fadeIn(1000);
}) ;
$("#out").on("click",function () {
$("#div1").fadeOut(1000);
$("#div2").fadeOut(1000);
$("#div3").fadeOut(1000);
}) ;
$("#toggle").on("click",function () {
$("#div1").fadeToggle(1000);
$("#div2").fadeToggle(1000);
$("#div3").fadeToggle(1000);
}) ;
$("#to").on("click",function () {
$("#div1").fadeTo(1000,0.5);
$("#div2").fadeTo(1000,0.7);
$("#div3").fadeTo(1000,0.3);//表示透明度,從0~1,0表示完全透明,1表示完全不透明
}) ;
});
3. 滑動
通過 jQuery,可以在元素上建立滑動效果。
jQuery 擁有以下滑動方法:
- slideDown()-向下滑動元素。
- slideUp()-向上滑動元素。
- slideToggle()-可以在 slideDown() 與 slideUp() 方法之間進行切換。
語法:
$(selector).slideDown(speed,callback);
$(selector).slideUp(speed,callback);
$(selector).slideToggle(speed,callback);
可選的 speed 引數規定效果的時長。它可以取以下值:”slow”、”fast” 或毫秒。
可選的 callback 引數是滑動完成後所執行的函式名稱。
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="jquery-3.2.1.js"></script>
<script src="move.js"></script>
<style>
#content,#flipshow,#fliphide,#fliptoggle{
padding:5px;
text-align: center;
background-color: aqua;
border:solid 1px #ccffdd;
}
#content{
padding:50px;
display:none;
}
</style>
</head>
<body>
<div id="flipshow">出現</div>
<div id="fliphide">隱藏</div>
<div id="fliptoggle">出現/隱藏</div>
<div id="content">hi</div>
</body>
$(document).ready(function () {
$("#flipshow").click(function () {
$("#content").slideDown(1000);
});
$("#fliphide").click(function () {
$("#content").slideUp(1000);
});
$("#fliptoggle").click(function () {
$("#content").slideToggle(1000);
});
});
4. 回撥
當動畫 100% 完成後,即呼叫 Callback 函式。
<button>隱藏</button>
<p>hi hi hi hi hi hi hi</p>
$("button").click(function () {
// $("p").hide(1000,function () {
// alert("動畫結束,這個方法被回撥")
// });
$("p").css("color","red").slideUp(1000).slideDown(1000);//同時使用多個動畫
}) ;