Guest User

Untitled

a guest
Dec 14th, 2017
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.93 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>任务三:零基础JavaScript编码(三)</title>
  6. </head>
  7. <body>
  8. <ul id="source">
  9. <li>北京空气质量:<b>90</b></li>
  10. <li>上海空气质量:<b>70</b></li>
  11. <li>天津空气质量:<b>80</b></li>
  12. <li>广州空气质量:<b>50</b></li>
  13. <li>深圳空气质量:<b>40</b></li>
  14. <li>福州空气质量:<b>32</b></li>
  15. <li>成都空气质量:<b>90</b></li>
  16. </ul>
  17.  
  18. <ul id="resort">
  19. <!--
  20. <li>第一名:北京空气质量:<b>90</b></li>
  21. <li>第二名:北京空气质量:<b>90</b></li>
  22. <li>第三名:北京空气质量:<b>90</b></li>
  23. -->
  24.  
  25. </ul>
  26.  
  27. <button id="sort-btn">排序</button>
  28.  
  29. <script type="text/javascript">
  30. /**
  31. * getData方法
  32. * 读取id为source的列表,获取其中城市名字及城市对应的空气质量
  33. * 返回一个数组,格式见函数中示例
  34. */
  35. function getData() {
  36. /*
  37. coding here
  38. */
  39. var slist = document.getElementById('source').getElementsByTagName('li');
  40. var data = new Array();
  41. for(var i = 0; i < slist.length; i++){
  42. var city = slist[i].firstChild.nodeValue.split('空气质量:')[0];
  43. var num = slist[i].lastChild.innerHTML;
  44. data.push([city, num]);
  45. }
  46.  
  47. /*
  48. data = [
  49. ["北京", 90],
  50. ["北京", 90]
  51. ……
  52. ]
  53. */
  54.  
  55. return data;
  56.  
  57. }
  58.  
  59. /**
  60. * sortAqiData
  61. * 按空气质量对data进行从小到大的排序
  62. * 返回一个排序后的数组
  63. */
  64. function sortAqiData(data) {
  65. data.sort(function(a, b){
  66. return a[1] - b[1];
  67. })
  68.  
  69. return data
  70. }
  71.  
  72. /**
  73. * render
  74. * 将排好序的城市及空气质量指数,输出显示到id位resort的列表中
  75. * 格式见ul中的注释的部分
  76. */
  77. function render(data) {
  78.  
  79. var arr = ['一', '二', '三', '四', '五', '六', '七'];
  80. var ul = document.getElementById('resort');
  81. for(var i = 0 ;i < data.length; i++){
  82. var li = document.createElement('li');
  83. li.innerHTML= '第' + arr[i] +'名:' + data[i][0] + '空气质量:' + '<b>' + data[i][1] + '</b>';
  84. ul.appendChild(li);
  85.  
  86. }
  87. }
  88. function btnHandle() {
  89. var aqiData = getData();
  90. aqiData = sortAqiData(aqiData);
  91. render(aqiData);
  92. var button = document.getElementById('sort-btn');
  93. button.disabled = 'true';
  94.  
  95. }
  96.  
  97. function init() {
  98.  
  99. // 在这下面给sort-btn绑定一个点击事件,点击时触发btnHandle函数
  100. var sortbtn = document.getElementById('sort-btn');
  101. sortbtn.onclick = function(){
  102. btnHandle();
  103. }
  104.  
  105.  
  106. }
  107.  
  108. init();
  109.  
  110. </script>
  111.  
  112. </body>
  113. </html
Add Comment
Please, Sign In to add comment