Помогите с практикой!!!!
Все привет! Ребят, прошу вашей помощи, помогите сделать 6 небольших заданий. Помогите кому не сложно) Сегодня вечером должен уже сдать эти задания
1. Генерация массива и запись в таблицу. Разработать скрипт, позволяющий генерировать массив случайных чисел от начального до конечного значения. Элементы сгенерированного массива подставляются в таблицу. Начальное и конечное значение диапазона записываются в поля и берутся оттуда при нажатии на кнопку «Сгенерировать». 2. Простой калькулятор. Разработать скрипт для калькулятора. Форму калькулятора взять из предыдущей лабораторной. Что должен делать калькулятор? 1. Ввод значений только при нажатии на кнопки. 2. Выдавать сообщение об ошибке при делении на 0. 3. Нельзя: - вводить операцию до ввода числа; - вводить первым числом 0 (функционал можно дополнить работой с десятичными числами, но сейчас это не так важно); - вводить 2 операции подряд. 4. По нажатию на кнопку «С» осуществляется сброс всего введённого и рассчитанного. 5. Может выполняться только 1 операция. Т.е. конструкции типа 2+2+2 и более сложные можно не реализовывать. ![]() 3. Перемещение блока в указанную область. Разместить на странице блок div с цветной рамкой. При нажатии на любую область рабочего пространства этот блок должен перемещаться туда. Подсказка: почитать про функцию addEventListener. Получать блок div можно с помощью функции getElementById. 4. Игра «Крестики – нолики». Внешний вид примерно такой: ![]() Под игровым полем должна быть кнопка «Очистить», а также указание того, кто сейчас должен сходить. Например, игрок «Х» сделал ход, значит ходит игрок «0». В игре должна отлавливаться победа какого – либо из игроков. После победы выдаётся соответствующее сообщение. 5. Оповещение при прокрутке. Вы наверняка не раз видели, что на некоторых сайтах при долгой прокрутке появляется стрелка, при нажатии на которую вас перебрасывает в верхушку страницы. Мы сделаем что-то подобное, но вместо стрелки при прокрутке на определённое число пикселей будет появляться окошечко с каким – нибудь сообщением. Сообщение должно появляться при прокрутке на 1000 пикселей. 6. Таймер. Реализовать таймер на js. Должны быть следующие функции: - Запуск таймера по кнопке; - Приостановка таймера по кнопке. При этом нажатие на кнопку запуска после нажатия на кнопку приостановки должно запустить продолжение работы таймера. Усложнять таймер не будем – в коде будет «зашито» кол-во секунд, после истечения которых должно на экране должен появиться блок <div> с текстом «Хватит!». К стилю требований нет. Можно обойтись без них. Подсказка: setTimeout() |
5-е задание
<body style="height:2000px;"> <div id="mes" style="display:none; position: fixed; border:1px solid red; padding: 20px">Какое-то сообщение <button id="cls">X</button> </div> <script> var fl = 1; window.onscroll = e => { if(window.scrollY >= 1000 && fl) { mes.style.display = 'block'; fl = 0; } }; cls.onclick = e => mes.style.display = 'none'; </script> |
Цитата:
Вроде как дано минимальное и максимальное значения для значения элемента массива, нужно собрать массив случайных чисел в этом диапазоне. Для решения задачи недостает, как минимум, длины итогового массива, в противном случае решение задачи займет бесконечно много времени. Если дано начало диапазона и его конец и нужно найти все значения этого диапазона, то недостает значения шага. И вообще в этом случае ни о каком массиве случайных чисел речи быть не может. В общем вот, я увидел 2 варианта задачи и для каждого из них недостает данных. |
3-е задание
<html> <head> <style> html, body { width: 100%; height: 100%; } .block { position: absolute; width: 100px; height: 100px; background-color: antiquewhite; border: 1px solid rebeccapurple; top: 0; left: 0; transition: all 0.5s; } </style> <script> document.addEventListener('DOMContentLoaded', function () { var block = document.getElementById('block') document.addEventListener('click', function (e) { block.style.top = e.y + 'px' block.style.left = e.x + 'px' }) }) </script> </head> <body> <div id="block" class="block"></div> </body> </html> |
Цитата:
генерируется таблица размера x-y в каждой ячейке рандомное число ,) я как-то так понял... |
Цитата:
|
Сорри, не туда куда-то смотрел...
тогда таблица будет размером 1 строка на X колонок |
Задание №1, пост №5:
<div> <div>Диапазон</div> <input type="number" id="from"> <input type="number" id="to"> <div> <input type="button" id="generate" value="Генерировать"/> </div> </div> <table id="table"></table> <script> const table=document.getElementById('table'); document.getElementById('generate').addEventListener('click',function(){ const arrayLength=Math.abs( (document.getElementById('from').value||0)- (document.getElementById('to').value||0) ); const result=[]; while(result.length<arrayLength) result.push(Math.random()); const row=document.createElement('tr'); row.innerHTML=result.map(function(val){ return '<td>'+val+'</td>'; }).join(''); table.appendChild(row); }); </script> |
4-e задание
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> body{text-align: center;} div{ width: 310px; height: 100px; position: relative; margin: auto; font-size: 60px; } div>div{ width: 100px; height: 100px; outline: 1px solid black; border: 1px solid black; display: block; float: left; } p{ font-size: 40px; height: 10px; } </style> </head> <body> <div><div></div><div></div><div></div></div> <div><div></div><div></div><div></div></div> <div><div></div><div></div><div></div></div> <p>Ходит: X</p> <button>ИГРАТЬ ЗАНОВО</button> <p><span>0</span>-Побед X</p> <p><span>0</span>-Побед O</p> <p><span>0</span> - Ничья</p> </body> <script> var i = 0, x = 1, pol = document.querySelectorAll('div>div'), res = document.querySelector('p'), span = document.querySelectorAll('span'), combo = [[0,1,2],[3,4,5],[6,7,8],[0,3,6],[1,4,7],[2,5,8],[0,4,8],[2,4,6]]; document.querySelector('button').onclick=e=>{ pol.forEach(el=>{ el.textContent = ''; el.style.backgroundColor = 'white'; }); i=0; x=1; res.textContent='Ходит: X'; }; function start(e){ if(x){ if(e.target.textContent == "") e.target.textContent = i++%2?'O':'X'; var arrX=[], arrO=[], arrA=[], arrC=[]; pol.forEach((el,n)=>{ el.textContent !== ''&& (el.textContent == 'X'?arrX.push(n):arrO.push(n)); el.textContent !== '' && arrA.push(n); el.textContent == '' && arrC.push(n); }); res.textContent = i%2?i==9?'Ничья':'Ходит: O':'Ходит: X'; if(win(arrX)) { res.textContent = 'Победил: X'; span[0].textContent++; x=0; pol.forEach((el,i)=>{ if(win(arrX).includes(i)) el.style.backgroundColor = 'red'; }); } else if(win(arrO)) { res.textContent = 'Победил: O'; span[1].textContent++; x=0; pol.forEach((el,i)=>{ if(win(arrO).includes(i)) el.style.backgroundColor = 'green'; }); } else if(i==9) span[2].textContent++; } } pol.forEach(el=>el.onclick = start); var win=(a)=>combo.find(el=>el.every((el)=>a.includes(el))); </script> </html> могу бота дописать если надо. |
Часовой пояс GMT +3, время: 02:36. |