Advertisement
Guest User

Untitled

a guest
Nov 12th, 2019
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 5.73 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.     <title>
  5.         Работа с таблицами
  6.     </title>
  7.  
  8.     <style>
  9.         div.forfunc{
  10.             display: inline-block;
  11.             min-width: 150px;
  12.             min-height: 150px;
  13.             border:1px solid red;
  14.             vertical-align: top;
  15.         }
  16.         input, select, button{
  17.             display: block;
  18.         }
  19.     </style>
  20. </head>
  21. <body>
  22. <div id='forma'><form>
  23.     <input id="rows" type="text" placeholder='Строки:'>
  24.     <input id="cols" type="text" placeholder='Столбцы:'>
  25.     <input type="button" value="Создать таблицу!" onclick='upload()'>
  26. </form>
  27. </div>
  28. <div id="func" style="display:none">
  29.     <div class="forfunc">
  30.         <input id="tableSize" type="text" placeholder="Ширина таблицы:">
  31.        
  32.         <select id="borderType">
  33.             <option value="">Тип рамки:</option>
  34.             <option value="dotted">dotted</option>
  35.             <option value="dashed">dashed</option>
  36.             <option value="solid">solid</option>
  37.             <option value="double">double</option>
  38.             <option value="groove">groove</option>
  39.         </select>
  40.        
  41.         <button id="but1" onclick="func1()">Изменить границы таблицы</button>
  42.     </div>
  43.     <div class="forfunc">
  44.         <input id="captionText" type="text" placeholder="Заголовок таблицы:">
  45.        
  46.         <button id="but2" onclick="func2()">Добавить заголовок</button>
  47.     </div>
  48.     <div class="forfunc">
  49.         <input id="deleteRow" type="number" placeholder="Номер строки:">
  50.        
  51.         <button id="but3" onclick="func3()">Удалить строку</button>
  52.     </div>
  53.     <div class="forfunc">
  54.         <button id="but4" onclick="func4()">Случайный выбор</button>
  55.     </div>
  56.     <div class="forfunc">
  57.         <button id="but5" onclick="func5()">Удалить</button>
  58.     </div>
  59. </div>
  60. <div id="table"></div>
  61.  
  62.  
  63. -----<br>
  64.     <script>
  65.         function next() {
  66.         document.write('<br>-----<br>');;
  67.         }
  68.         //функция рандомизации чисел из инета
  69.         function randomInt(min, max) {
  70.             let rand = min - 0.5 + Math.random() * (max - min + 1);
  71.             return Math.round(rand);
  72.         }
  73.         //функция рандомизации цвета из инета
  74.         function randColor() {
  75.             var r = Math.floor(Math.random() * (256)),
  76.             g = Math.floor(Math.random() * (256)),
  77.             b = Math.floor(Math.random() * (256));
  78.             return '#' + r.toString(16) + g.toString(16) + b.toString(16);
  79.         }
  80.         var x, y;//значения кол-ва строк и столбцов
  81.  
  82.         function newText(){
  83.             text=event.currentTarget.previousSibling.value;
  84.             event.currentTarget.parentNode.innerHTML=text;
  85.         }
  86.         //создание таблицы
  87.         function upload(){
  88.             x=document.getElementById("rows").value;
  89.             y=document.getElementById("cols").value;
  90.             var row = x;
  91.             var column = y;
  92.             var table = '<table border="1">';
  93.             for( var i = 0; i < row; i++ ){
  94.             table += '<tr>';
  95.             for( var j = 0; j < column; j++ ){
  96.                 table += '<td><textarea placeholder="Введи текст!"></textarea><button type="button" onclick="newText()">Save</button></td>'
  97.             }
  98.             table += '</tr>';
  99.             }
  100.             table += '</table>';
  101.             document.getElementById('table').innerHTML = table;
  102.             //
  103.             document.getElementById('forma').style.display='none';//скрываем форму
  104.             document.getElementById('func').style.display='';//делаем видимой блок функций
  105.         }
  106.         //границы таблицы
  107.         function func1(){
  108.             width = document.getElementById("tableSize").value;
  109.             if (width>=1000){
  110.                 alert('Введите не более 3-х символов!');
  111.             }
  112.             else{
  113.                 document.getElementById("table").firstChild.width=width;
  114.                 border = document.getElementById("borderType").value;
  115.                 document.getElementById("table").firstChild.style.border=border;
  116.             }
  117.         }  
  118.         //отображение значений на кнопке
  119.         document.getElementById("tableSize").oninput = function(){
  120.             document.getElementById("but1").textContent = 'Применить: ' + document.getElementById("tableSize").value + 'px';
  121.         }
  122.         document.getElementById("borderType").oninput = function(){
  123.             document.getElementById("but1").textContent = document.getElementById("but1").textContent + ', border: ' + document.getElementById("borderType").value;
  124.         }  
  125.         //добавление заголовка
  126.         function func2(){
  127.             caption = document.getElementById("captionText").value;
  128.             document.getElementById('table').firstChild.createCaption().innerHTML=caption;
  129.         }
  130.         //удаление строки
  131.         function func3(){
  132.             deleterow = document.getElementById("deleteRow").value;
  133.             document.getElementById('table').firstChild.deleteRow(deleterow-1);
  134.         }
  135.         //рандомная строка и действия с ней
  136.         function func4(){
  137.             ind1=randomInt(0, document.getElementById('table').firstChild.rows.length-1);
  138.             ind2=randomInt(0, document.getElementById('table').firstChild.rows[ind1].cells.length-1);
  139.             switch(randomInt(1, 5)){
  140.                 case 1:
  141.                     document.getElementById('table').firstChild.rows[ind1].cells[ind2].style.backgroundColor=randColor();
  142.                     break;
  143.                 case 2:
  144.                     document.getElementById('table').firstChild.rows[ind1].cells[ind2].style.color=randColor();
  145.                     break;
  146.                 case 3:
  147.                     document.getElementById('table').firstChild.rows[ind1].cells[ind2].style.fontSize=randomInt(15, 25)+'pt';
  148.                     break;
  149.                 case 4:
  150.                     document.getElementById('table').firstChild.rows[ind1].cells[ind2].innerHTML='<td><textarea placeholder="Введи текст!"></textarea><button type="button" onclick="newText()">Save</button></td>';
  151.                     break;
  152.             }
  153.         }
  154.         //удаление таблицы
  155.         function func5(){
  156.             document.getElementById('table').firstChild.remove();
  157.             document.getElementById('forma').style.display='';
  158.             document.getElementById('func').style.display='none';
  159.         }
  160.  
  161.     </script>
  162. </body>
  163. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement