Суть скрипта в том, что квадрат перемещается туда где был совершен клик, но здесь есть два ползунка, если по ним совершить клик, то есть задействовать эти ползунки то квадрат наезжает на них, хотелось бы, чтобы квадрат оставался на месте, если совершается клик по формам, как это можно исправить?
var rotator = document.getElementById("rotator");
var square = document.getElementById("square");
rotator.onchange = function() {
window.onmousemove = function() {
square.style.transform = "rotate(" + rotator.value + "deg)";
}
}
var mastab = document.getElementById("mastab");
mastab.onchange = function() {
window.onmousemove = function() {
square.style.transform = "scale(" + mastab.value + "," + mastab.value + ")";
}
}
window.addEventListener('click', go);
function go(event) {
var elem = document.getElementById('square');
elem.style.left = event.clientX + 'px';
elem.style.top = event.clientY + 'px';
document.getElementById('koordinat').innerHTML = elem.style.left + " " + elem.style.top;
}
body {
height: 800px;
margin: 0px;
}
#rotator {
margin: 20px;
width: 200px;
}
#mastab {
margin: 20px;
width: 200px;
}
#square {
border: 1px solid red;
width: 100px;
height: 100px;
position: fixed;
top: 100px;
left: 0;
transform: scale(10px, 10px)
}
<input id="rotator" type="range" min="-359" max="359">
<input id="mastab" type="range" min="0.25" max="10">
<div id="koordinat"></div>
<div id="square"> </div>
завести переменную минимум максимум
©квадрат наезжаетчтобы квадрат не наезжал, нужно его понизить через css z-index
let minMax = [100, 450]
var rotator = document.getElementById("rotator");
var square = document.getElementById("square");
rotator.onchange = function() {
window.onmousemove = function() {
square.style.transform = "rotate(" + rotator.value + "deg)";
}
}
var mastab = document.getElementById("mastab");
mastab.onchange = function() {
window.onmousemove = function() {
square.style.transform = "scale(" + mastab.value + "," + mastab.value + ")";
}
}
window.addEventListener('click', go);
function go(event) {
let x = event.clientX
let y = event.clientY
let isOkX = minMax[0] < x && x < minMax[1]
let isOkY = minMax[0] < y && y < minMax[1]
if (!isOkX || !isOkY) return;
var elem = document.getElementById('square');
elem.style.left = x + 'px';
elem.style.top = y + 'px';
document.getElementById('koordinat').innerHTML = elem.style.left + " " + elem.style.top;
}
body {
height: 800px;
margin: 0px;
}
#rotator {
margin: 20px;
width: 200px;
}
#mastab {
margin: 20px;
width: 200px;
}
#square {
border: 1px solid red;
width: 100px;
height: 100px;
position: fixed;
top: 100px;
left: 0;
transform: scale(10px, 10px);
}
#square {
/*
отрицательное значение z-index позволяет сочетать с position: fixed;
*/
z-index: -1;
}
<input id="rotator" type="range" min="-359" max="359">
<input id="mastab" type="range" min="0.25" max="10">
<div id="koordinat"></div>
<div id="square"> </div>
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Я пытаюсь создать фон, состоящий из градиента нескольких точек, от зеленого до желтого, слева направоПоэтому идея заключалась в том, чтобы...
Данный Q-A является продолжением прошлого(стилизация текста SVG)
Добрый вечер, друзьяДля вступления хотел бы уточнить, что в js я пока полный ноль, только начинаю знакомится, поэтому прикреплю весь js прошлого...
Всем доброго времени сутокПроблема такая, у меня есть таблица html, нужно эту таблицу экспортировать в excel