Blogger Information
Blog 145
fans 7
comment 7
visits 164482
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
03月05日作业:过滤器和Ajax
李东亚¹⁸⁰³⁹⁵⁴⁰¹²⁰
Original
804 people have browsed it

作业一

一、demo代码练习:
1、代码

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <script src="//upcdn.b0.upaiyun.com/libs/jquery/jquery-2.0.3.min.js"></script>
  6. <title>Document</title>
  7. <style>
  8. .red{
  9. background-color: burlywood;
  10. }
  11. #blue {
  12. color:blue;
  13. }
  14. .blue {
  15. font-size: 20px;
  16. }
  17. </style>
  18. </head>
  19. <body>
  20. <ul id="first">
  21. <li>item1</li>
  22. <li>item2</li>
  23. <ul>
  24. <li>item3-1</li>
  25. <li class="red">item3-2</li>
  26. <li id="blue">item3-3</li>
  27. </ul>
  28. <li>item4</li>
  29. <li>item5</li>
  30. </ul>
  31. <hr>
  32. <ul id="second">
  33. <li class="blue">item1</li>
  34. <li>item2</li>
  35. <li>item3</li>
  36. <li>item4</li>
  37. <li>item5</li>
  38. </ul>
  39. <script>
  40. var li = $('#second > li').filter(":nth-child(-n+3)");
  41. // console.log(li.text());//$()有遍历的效果
  42. var children =$('li');
  43. // console.log(children);
  44. children.first().css('color','red');
  45. children.last().css('color','green');
  46. children.eq(5).addClass('red');
  47. // console.log(children.find('#blue'));
  48. li = $('li');
  49. // console.log(typeof(li.find('.blue')));
  50. var ul=$('#second');
  51. console.log(ul.find('.blue'));
  52. ul.find('.blue').css('background','lightblue');
  53. var child=$('#second > li');
  54. console.log(child.slice(1,3).text());//索引0开始,取前不取后,如果只有一个参数,直接取到结束
  55. console.log(child.slice(0,-1).text());//尾部索引从-1开始
  56. child.not(':last-child()').css('background','red');
  57. </script>
  58. </body>
  59. </html>

2、运行结果:

二、demo1.html
1、代码代码练习

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <script src="//upcdn.b0.upaiyun.com/libs/jquery/jquery-2.0.3.min.js"></script>
  6. <title>事件</title>
  7. <style>
  8. form {
  9. width: 200px;
  10. display: grid;
  11. gap: 10px;
  12. }
  13. </style>
  14. </head>
  15. <body>
  16. <form action="a.php">
  17. <input type="text" placeholder="UserName" autofocus>
  18. <input type="password" placeholder="Password">
  19. <button>提交</button>
  20. </form>
  21. <script>
  22. $('form').submit(function(ev){
  23. ev.preventDefault();
  24. });
  25. var user=$('input[type=text]');
  26. // 当元素失去焦点时blur() 函数触发 blur 事件,或者如果设置了 function 参数,该函数也可规定当发生 blur 事件时执行的代码。
  27. user.blur(function(){
  28. var tips='';
  29. var users=['admin','peter','ldy','jquery'];
  30. if($(this).val().length===0){
  31. tips='名字不能为空';
  32. $(this).focus();
  33. /*indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。
  34. indexOf() 方法对大小写敏感!
  35. 如果要检索的字符串值没有出现,则该方法返回 -1。
  36. */
  37. }else if (users.indexOf($(this).val())===-1){
  38. tips='用户名不存在'+'<a href="register.php">注册</a>';
  39. $(this).focus();
  40. }else{
  41. tips= '<i style="color: green">验证通过<i>';
  42. $('input[type=password]').focus();
  43. }
  44. if($(this).next().get(0).tagName !=='SPAN'){
  45. $('<span>').html(tips).css('color','red').insertAfter($(this));
  46. }
  47. user.on('keydown',function(){
  48. $(this).next('span').remove();
  49. });
  50. })
  51. </script>
  52. </body>
  53. </html>

2、运行效果图

三、demo2.html代码练习
1、代码:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <script src="//upcdn.b0.upaiyun.com/libs/jquery/jquery-2.0.3.min.js"></script>
  6. <title>Document</title>
  7. </head>
  8. <body>
  9. <nav></nav>
  10. <button>get获取</button>
  11. <div></div>
  12. <button>post获取</button>
  13. <div></div>
  14. <button>Ajax获取</button>
  15. <div></div>
  16. <script>
  17. $('nav').load('try.html');
  18. var url='test.php?id=3';
  19. $('button').first().click(function(){
  20. $.get(url,function(data){
  21. $('div').first().html(data);
  22. })
  23. });
  24. $('button').eq(1).click(function(){
  25. $.post('test.php',{id:1},function(data){
  26. $('div').eq(1).html(data);
  27. })
  28. });
  29. $('button').last().click(function(){
  30. $.ajax({
  31. type:'GET',
  32. url:'test.php',
  33. data:{id:1},
  34. dataType:'html',
  35. success:function(data){
  36. $('div').last().html(data);
  37. }
  38. })
  39. })
  40. </script>
  41. </body>
  42. </html>

2、运行结果

三、案例练习
1、代码:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <script src="//upcdn.b0.upaiyun.com/libs/jquery/jquery-2.0.3.min.js"></script>
  6. <title>Document</title>
  7. <style>
  8. form {
  9. width: 200px;
  10. display: grid;
  11. gap: 10px;
  12. }
  13. .success {
  14. color: green;
  15. }
  16. .fail {
  17. color: red;
  18. }
  19. </style>
  20. </head>
  21. <body>
  22. <form action="">
  23. <input type="text" placeholder="UserName" autofocus>
  24. <input type="password" placeholder="Password">
  25. <button>提交</button>
  26. </form>
  27. <script>
  28. $('form').submit(function (ev) {
  29. ev.preventDefault();
  30. var user = {
  31. 'username': $('input[type=text]').val(),
  32. 'password': $('input[type=password]').val()
  33. }
  34. $.ajax({
  35. type: 'POST',
  36. url: 'check.php',
  37. data: user,
  38. dataType: 'json',
  39. success: function (data) {
  40. if ($('form span').length === 0) {
  41. $('<span>').text(data.message).addClass(function () {
  42. return data.status === 1 ? 'success' : 'fail';
  43. }).appendTo('form');
  44. }
  45. }
  46. });
  47. $('form input').keydown(function () {
  48. $('form').find('span').remove();
  49. });
  50. });
  51. </script>
  52. </body>
  53. </html>

2、运行效果图

作业二:

一、相关知识点(jquery对象有获取输出有遍历效果)
1、filter();:过滤器,缩小范围来命中元素
2、children();:获取所有子元素
3、first();last();直接获取第一个或者最后一个元素
4、eq(n);:直接获取n个元素,n从0开始
5、find();:在所有层级种进行查询
6、slice();:从jQuery对象集合种选择一部分,两参数,索引0开始,取前不取后,如果只有一个参数,直接取到结束;尾部索引从-1开始
7、去表单默认提交事件:$('form').submit(function(ev){ev.preventDefault();});
8、blur(回调函数);:表单文本框失去焦点时进行验证;
9、user.indexOf(value);方法可返回某个指定的字符串值在字符串中首次出现的位置。indexOf() 方法对大小写敏感!如果要检索的字符串值没有出现,则该方法返回 -1。
10、事件行为:click点击keydown按下键盘任意键;
11、$.get():以GET方式从服务器获取数据:
$.get(url,[data],[callback],[type])
url:待载入页面的URL地址
data:待发送 Key/value 参数。
callback:载入成功时回调函数。
type:返回内容格式,xml, html, script, json, text, _default。
12、$.post():以POST方式从服务器获取数据;
$.post(url,[data],[callback],[type])
test.php为目标文件,{id:1}数据信息
13、load(url,[data,[callback]]): 获取html代码片断,默认get$('nav').load('test.html');
14、$.getJSON(url,[data],[callback])获取json数据:
url:发送请求地址。
data:待发送 Key/value 参数。
callback:载入成功时回调函数。
15、$.ajax()从服务器获取数据

  1. $.ajax({
  2. type: 'GET', // 请求类型
  3. url: url, // 请求地址
  4. data: data, // 发送的数据
  5. dataType: // 期望的响应数据的类型,如json,html,text...,自动判断
  6. success: 成功回调
  7. })

16、php数组:in_array($id, array_column($users, 'id'))
in_array():判断$id是否在array_column()返回的数组中
array_column($user,’id’);取出组中id的值重新组成数组

Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:教学源码原样照抄不太好, 你可以有自己的想法
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post