Advertisement
Samardziev

z3

Jan 21st, 2018
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.     <meta charset="utf-8">
  5.     <title>Задача 3</title>
  6.     <style rel="stylesheet" type="text/css">
  7.         input[type="number"] {width: 60px;}
  8.     </style>
  9.     <script type="text/javascript">
  10.  
  11.         function get(success) {
  12.             var request = (window.XMLHttpRequest) ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
  13.             request.open("GET", "avtomobili.json");
  14.  
  15.             request.onreadystatechange = function() {
  16.                 if(this.readyState === 4 && this.status === 200) {
  17.                     var data = JSON.parse(this.responseText);
  18.                     success(data);
  19.                 }
  20.             }
  21.  
  22.             request.send();
  23.         }
  24.  
  25.         document.addEventListener("DOMContentLoaded", function() {
  26.             var carShow = document.getElementsByClassName("cars")[0],
  27.                     cars = carShow.getElementsByTagName("p");
  28.  
  29.             get(function(data) {
  30.                 for(var i = 0; i < data.length; i++) {
  31.                     carShow.innerHTML +=
  32.                             "<p original-color='" + data[i].color + "'>" +
  33.                             "<b>marka:</b> " + data[i].brand + " <b>model:</b> " + data[i].model + " <b>color</b> <input type='color' value='" + data[i].color + "'> <b>max brzina:</b> <input type='number' value='" + data[i].maxSpeed + "'>";
  34.                     "</p>";
  35.                 }
  36.             });
  37.  
  38.             function sort() {
  39.                 var elems = [];
  40.  
  41.                 for(var i = 0; i < cars.length; i++)
  42.                     elems.push(cars[i]);
  43.  
  44.                 var sorted = elems.sort(function(a, b) {
  45.                     var aValue = parseInt(a.querySelector("input[type='number']").value),
  46.                             bValue = parseInt(b.querySelector("input[type='number']").value);
  47.  
  48.                     return aValue < bValue;
  49.                 });
  50.  
  51.                 return sorted;
  52.             }
  53.  
  54.             function updateValues() {
  55.                 for(var i = 0; i < cars.length; i++) {
  56.                     var maxSpeed = cars[i].querySelector("input[type='number']");
  57.                     maxSpeed.setAttribute("value", maxSpeed.value);
  58.                 }
  59.             }
  60.  
  61.             document.getElementsByTagName("button")[0].addEventListener("click", function() {
  62.                 updateValues();
  63.  
  64.                 var sorted = sort();
  65.                 carShow.innerHTML = "";
  66.                 for(var i = 0; i < sorted.length; i++) {
  67.                     sorted[i].style.background = sorted[i].getAttribute("original-color");
  68.                     carShow.innerHTML += sorted[i].outerHTML;
  69.                 }
  70.             });
  71.         });
  72.     </script>
  73. </head>
  74. <body>
  75. <div class="cars"></div>
  76. <button>sortiraj</button>
  77. </body>
  78. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement