在看w3cschool上面的JQuery部分的教程的时候,看到了这个东西,callback函数。
链接在这里:http://www.w3school.com.cn/jquery/jquery_callback.asp
按照他里面的例子写了一遍,代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>jquery_demo</title>
<script src="jquery-2.1.4.js"></script>
<script>
$(document).ready(function () {
$("button").click(function () {
$("p").hide(2000,function () {
alert("文字已隐藏!");
});
});
});
</script>
</head>
<body>
<button type="button">点我点我</button>
<p>如果不想看到这一段,点上面的按钮吧!</p>
<p>当然,你在点了按钮之后,这个会隐藏,并弹出警告框来。</p>
</body>
</html>
然后运行了一下,发现一个问题:弹出警告框弹出的是两个(关掉一个还有一个),于是又调整了一下,发现把下面的两对
标签删掉一对,再运行,之弹出一个警告框。
基本确定了,弹出警告框的个数是由p标签的对数决定的。然而到了这里也只是知其然而不知其所以然。求各位有懂的解释下为什么会是这个样子?还有,怎么让它在有多个p标签时只弹出一个警告框?
$('p')会遍历文档中的所有p标签,然后每一个p标签在执行hide之后都有一个回调,你下面有两个p标签,自然执行两次alert