1-9 使用ajaxStart()和ajaxStop()方法
本节编程练习不计算学习进度,请电脑登录imooc.com操作

使用ajaxStart()和ajaxStop()方法

ajaxStart()ajaxStop()方法是绑定Ajax事件。ajaxStart()方法用于在Ajax请求发出前触发函数,ajaxStop()方法用于在Ajax请求完成后触发函数。它们的调用格式为:

$(selector).ajaxStart(function())$(selector).ajaxStop(function())

其中,两个方法中括号都是绑定的函数,当发送Ajax请求前执行ajaxStart()方法绑定的函数,请求成功后,执行ajaxStop ()方法绑定的函数。

例如,在调用ajax()方法请求服务器数据前,使用动画显示正在加载中,当请求成功后,该动画自动隐藏,如下图所示:

在浏览器中显示的效果:

从图中可以看出,由于使用ajaxStart()ajaxStop()方法绑定了动画元素,因此,在开始发送Ajax请求时,元素显示,请求完成时,动画元素自动隐藏。

注意:该方法在1.8.2下使用是正常的

任务

我来试试,亲自使用ajaxStart()ajaxStop()方法绑定元素。

在下列代码的第24、27行,调用ajaxStart()ajaxStop()方法绑定元素,当发送Ajax请求和结束请求时,在元素中显示不同的文字内容。

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <title>使用ajaxStart()和ajaxStop()方法</title>
  5. <script src="http://libs.baidu.com/jquery/1.8.2/jquery.js" type="text/javascript"></script>
  6. <link href="style.css" rel="stylesheet" type="text/css" />
  7. </head>
  8.  
  9. <body>
  10. <div id="divtest">
  11. <div class="title">
  12. <span class="fl">加载一段文字</span>
  13. <span class="fr">
  14. <input id="btnShow" type="button" value="加载" />
  15. </span>
  16. </div>
  17. <ul>
  18. <li id="divload"></li>
  19. </ul>
  20. </div>
  21.  
  22. <script type="text/javascript">
  23. $(function () {
  24. ?{
  25. $(this).html("正在请求数据...");
  26. });
  27. ?{
  28. $(this).html("数据请求完成!");
  29. });
  30. $("#btnShow").bind("click", function () {
  31. var $this = $(this);
  32. $.ajax({
  33. url: "http://www.imooc.com/data/info_f.php",
  34. dataType: "json",
  35. success: function (data) {
  36. $this.attr("disabled", "true");
  37. $("ul").append("<li>我的名字叫:" + data.name + "</li>");
  38. $("ul").append("<li>男朋友对我说:" + data.say + "</li>");
  39. }
  40. });
  41. })
  42. });
  43. </script>
  44. </body>
  45. </html>
  1. #divtest
  2. {
  3. width: 282px;
  4. }
  5. #divtest .title
  6. {
  7. padding: 8px;
  8. background-color:Blue;
  9. color: #fff;
  10. height: 23px;
  11. line-height: 23px;
  12. font-size: 15px;
  13. font-weight: bold;
  14. }
  15. ul
  16. {
  17. float: left;
  18. width: 280px;
  19. padding: 5px 0px;
  20. margin: 0px;
  21. font-size: 14px;
  22. list-style-type: none;
  23. }
  24. ul li
  25. {
  26. float: left;
  27. width: 280px;
  28. height: 23px;
  29. line-height: 23px;
  30. padding: 3px 8px;
  31. }
  32. .fl
  33. {
  34. float: left;
  35. }
  36. .fr
  37. {
  38. float: right;
  39. }
下一节