agel122

power_calculator

Nov 2nd, 2021
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 4.27 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html>
  3.     <head>
  4.         <style>
  5.              .selected{background-color: red; font-weight: bold; color: #fff;}
  6.         </style>
  7.         <title>
  8.             Расчет потребного сечения медного провода мм2
  9.             в зависимости от суммарной потребляемой мощности
  10.         </title>
  11.     </head>
  12.     <body>
  13.     <div id="table">
  14.         <table id="mydata">
  15.             <tr><th>Мощность, кВт</th><th>Сечение, мм2</th></tr>
  16.             <tr><td>4.1</td><td>1.5</td></tr>
  17.             <tr><td>5.9</td><td>2.5</td></tr>
  18.             <tr><td>8.3</td><td>4.0</td></tr>
  19.             <tr><td>10.1</td><td>6.0</td></tr>
  20.             <tr><td>15.4</td><td>10.0</td></tr>
  21.             <tr><td>18.7</td><td>16.0</td></tr>
  22.             <tr><td>25.3</td><td>25.0</td></tr>
  23.             <tr><td>29.7</td><td>35.0</td></tr>
  24.             <tr><td>38.5</td><td>50.0</td></tr>
  25.             <tr><td>47.3</td><td>70.0</td></tr>
  26.             <tr><td>57.2</td><td>95.0</td></tr>
  27.             <tr><td>66.0</td><td>120.0</td></tr>
  28.         </table>
  29.     </div>
  30.     <div>
  31.         Мощность, кВт:
  32.         <input id="addedPower" type="text">
  33.         <button id="summarizer">добавить к суммарной</button>
  34.         <p id="sumPower">Суммарная мощность, кВт: </p>
  35.         <button id="sender">посчитать потребное сечение</button>
  36.         <button id="clearer">сбросить суммарное значение</button>
  37.     </div>
  38.     <div>
  39.         <p id="requiredSection">Потребное сечение, мм2: </p>
  40.     </div>
  41.     <div>
  42.         <p>Расчет выполняется при коф-те запаса 1 и коэф-те включения 1</p>
  43.     </div>
  44.     <script>
  45.         let squareOfwire = {
  46.             4.1: 1.5,
  47.             5.9: 2.5,
  48.             8.3: 4.0,
  49.             10.1: 6.0,
  50.             15.4: 10.0,
  51.             18.7: 16.0,
  52.             25.3: 25.0,
  53.             29.7: 35.0,
  54.             38.5: 50.0,
  55.             47.3: 70.0,
  56.             57.2: 95.0,
  57.             66.0: 120.0
  58.         };
  59.  
  60.         let nominalPowers = [
  61.             4.1, 5.9, 8.3, 10.1, 15.4, 18.7, 25.3, 29.7, 38.5, 47.3,
  62.             57.2, 66.0
  63.         ];
  64.  
  65.         function closestbiggest(value, arr) {
  66.             let closestBiggest = 4.1;
  67.             for (let i=1; i<arr.length; i++) {
  68.                if (value>arr[i-1] && value<=arr[i]) {
  69.                    closestBiggest = arr[i];
  70.                 }
  71.                 if (value>66) {
  72.                     closestBiggest = value;
  73.                 }
  74.             }
  75.             return closestBiggest;
  76.             }
  77.  
  78.         let sumPower = 0;
  79.  
  80.         summarizer.onclick = function(event) {
  81.             let data = document.getElementById('addedPower').value;
  82.             sumPower += Number(data);
  83.             document.getElementById('sumPower').textContent =
  84.             "Суммарная мощность, кВт: " + sumPower;
  85.         }
  86.  
  87.         sender.onclick = function(event) {
  88.            let tablePower = closestbiggest(sumPower, nominalPowers);
  89.            if (tablePower<=66) {
  90.               tableSection = squareOfwire[tablePower];
  91.               table = document.getElementById('mydata');
  92.               for (let row of table.rows) {
  93.                   if (row.cells[0].innerHTML == tablePower) {
  94.                       row.classList.add("selected");
  95.                   } else {row.classList.remove("selected")}
  96.               }
  97.            } else {
  98.                tableSection = "too big value of power";
  99.            }
  100.           document.getElementById('requiredSection').textContent =
  101.           "Потребное сечение, мм2: " + tableSection;
  102.        }
  103.  
  104.        clearer.onclick = function(event) {
  105.            sumPower = 0;
  106.            document.getElementById('sumPower').textContent =
  107.            "Суммарная мощность, кВт: ";
  108.            document.getElementById('requiredSection').textContent =
  109.           "Потребное сечение, мм2: ";
  110.           for (let row of document.getElementById('mydata').rows) {
  111.            row.classList.remove("selected");
  112.           }
  113.        }
  114.    </script>
  115.     </body>
  116. </html>
Add Comment
Please, Sign In to add comment