在 jQuery 中,回调函数(Callback) 是动画效果完成后执行的函数,常用于处理动画结束后的逻辑。
许多 jQuery 函数涉及动画。这些函数也许会将 speed 或 duration 作为可选参数。
例子:$("p").hide("slow")
speed 或 duration 参数可以设置许多不同的值,比如 "slow", "fast", "normal" 或毫秒。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="https://**********/jquery.min.js">
</script>
<script>
$(document).ready(function(){
$("button").click(function(){
$("p").hide("slow",function(){
alert("段落现在被隐藏了");
});
});
});
</script>
</head>
<body>
<button>隐藏</button>
<p>我们段落内容,点击“隐藏”按钮我就会消失</p>
</body>
</html>
一、基本概念
jQuery 的动画方法(如 hide()、fadeOut()、slideUp() 等)支持通过 回调函数 在动画完成后执行特定操作。回调函数通常作为最后一个参数传入。
示例:
$(".box").hide(1000, function() {
console.log("隐藏动画完成!");
});
二、常用隐藏动画方法
以下是 jQuery 中常用的隐藏动画方法及其回调用法:
(1) hide() 方法
功能:通过调整宽度、高度和透明度,使元素逐渐消失。
语法:
$(selector).hide(duration, easing, callback);
示例:
$(".box").hide(1000, "linear", function() {
console.log("元素已隐藏!");
});
(2) fadeOut() 方法
功能:通过降低透明度使元素淡出。
语法:
$(selector).fadeOut(duration, easing, callback);
示例:
$(".box").fadeOut(500, function() {
$(this).remove(); // 动画完成后移除元素
});
(3) slideUp() 方法
功能:通过减少高度使元素向上滑动隐藏。
语法:
$(selector).slideUp(duration, easing, callback);
示例:
$(".box").slideUp(800, function() {
alert("滑动隐藏完成!");
});
三、 回调函数的作用
回调函数在动画完成后执行,通常用于:
清理操作(如移除元素)
触发其他动画
更新页面状态或数据
示例:隐藏后显示其他元素
$("#btn").click(function() {
$("#content").fadeOut(600, function() {
$("#loading").fadeIn(400); // 隐藏完成后显示加载提示
});
});
四、嵌套回调函数
如果需要在多个动画之间按顺序执行,可以将回调函数嵌套使用:
示例:先隐藏再淡入
$("#box").hide(500, function() {
$(this).fadeIn(500, function() {
console.log("动画循环完成!");
});
});
五、链式调用与回调
jQuery 支持链式调用,但回调函数不能直接链式调用。如果需要在动画队列中添加延迟或后续操作,可以结合 delay() 和 queue() 方法:
示例:延迟后执行隐藏
$("#box")
.delay(1000) // 延迟 1 秒
.fadeOut(500, function() {
console.log("延迟隐藏完成!");
});