Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.03.2017, 22:18
Аватар для komplekt_17
Аспирант
Отправить личное сообщение для komplekt_17 Посмотреть профиль Найти все сообщения от komplekt_17
 
Регистрация: 14.01.2017
Сообщений: 46

Не срабатывает обработчик кнопки
Всем привет, повесил на кнопку обработчик кликов. Почему-то обрабатываются только 2 нажатия кнопки, дальнейшие клики не срабатывают.
По задумке каждое нажатие по кнопке должно ротировать блок
<div class="quart"> на 90 градусов.
<body>
	<section class="pixel-art"><p>Пиксель Арт</p></section>
	<section class="canvas">
	<div class="quart">
			<div class="default"></div>
			<div class="default"></div>
			<div class="default"></div>
			<div class="default"></div>
			<div class="default"></div>
			<div class="default"></div>
			<div class="default"></div>
			<div class="default"></div>
			<div class="default"></div>
			<div class="default"></div>
			<div class="default"></div>
			<div class="default"></div>
			<div class="default"></div>
			<div class="default"></div>
			<div class="default"></div>
			<div class="default"></div>
	</div>
	</section>
	<section class="result">
		<div class="time">Время 00:00</div>
		<button class="one">Повернуть</button><br>
		<button class="two">Результат</button>
	</section>
	<section class="total">
		<div class="total-canvas"></div>
		<div class="total-pix">Пикселей: 0</div>
		<div class="total-time">Время 00:00</div>
	</section>
</body>

var degree = 90;
// обработчик кликов по пикселям
document.querySelector('.quart').addEventListener('click', function(ev){
	
	if(ev.target.classList.contains('default')){
		// добавляем или убираем class="default"
		ev.target.classList.toggle('active');
	}
	
});
// обработчик кликов для ротации
document.querySelector('.one').onclick = function() {
	//debugger;
	degree = degree + 90;
	console.log(degree);
	var elem = document.querySelector('.quart');
	elem.style.transform = 'rotate('+degree+'deg)';
	elem.style.transition = '.6s';
}

html, body{
	margin: 0;
	font-size: 20px;
}
section{
	width: 750px;
	margin: 0 auto;
	text-align: center;
}
button{
	padding: 5px 20px;
	margin: 10px 0;
	font-size: 20px;
	cursor: pointer;
}
.pixel-art{
	height: 330px;
	background: url(bg1.jpg) no-repeat;
	background-size: contain;
	background-position: center center; 
}
p{
	color: #000;
	font-weight: bold;
	position: relative;
	top: 85%;
	left: -20%;
}
.quart{
	width: 440px;
	padding: 10px 160px;
}
.quart div{
	width: 100px;
	height: 100px;
	margin: -5px;
	display: inline-block;
	border: 1px solid #fff;
	cursor: pointer;
}
.default{
	background: #90C4B8;
}
.active{
	background: #000;
}

Последний раз редактировалось komplekt_17, 10.03.2017 в 07:28.
Ответить с цитированием
  #2 (permalink)  
Старый 09.03.2017, 22:47
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

komplekt_17,
лучше полный макет с css, возможно ваш блок перекрывает кнопку повернуть.
Ответить с цитированием
  #3 (permalink)  
Старый 10.03.2017, 07:06
Аватар для komplekt_17
Аспирант
Отправить личное сообщение для komplekt_17 Посмотреть профиль Найти все сообщения от komplekt_17
 
Регистрация: 14.01.2017
Сообщений: 46

Да вы правы, действительно, происходит перекрытие

Последний раз редактировалось komplekt_17, 10.03.2017 в 07:28.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как можно активировать обработчик не по нажатию кнопки, а при всплытии формы? DDim1000 jQuery 7 25.11.2016 14:22
Обработчик события срабатывает без события! Подскажите пожалуйста opawina Events/DOM/Window 3 11.09.2016 06:49
Изменение кнопки, не срабатывает функция после изменения arahmanov Элементы интерфейса 3 25.01.2014 14:36
Не срабатывает обработчик window.onload. Alex82 Events/DOM/Window 16 22.02.2013 21:06
jQuery - не срабатывает обработчик в change() senglory jQuery 1 28.12.2012 03:04