Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.01.2016, 04:25
Интересующийся
Отправить личное сообщение для Anton6677 Посмотреть профиль Найти все сообщения от Anton6677
 
Регистрация: 11.01.2016
Сообщений: 14

Неактивность onclick
Здравствуйте.
У меня есть много элементов, при первом клике по элементу меняется стиль у нескольких других элементов, при втором нажатии с помощью toggle возвращается старый стиль.
Как мне сделать так, чтобы после того, как пользователь нажал на элемент(1) первый раз, он не мог нажимать на другие элементы пока не нажмет на элемент(1) второй раз?
Надеюсь понятно объяснил)
script
window.onload = function() {
var element1 = document.getElementById('IMAGE1');
                element1.onclick = function() {
            var imgs = document.getElementsByTagName('img');
            for (var i = 0, len = imgs.length; i < len; i++) 
                {imgs[i].classList.toggle("class2")}

element1.classList.toggle("class3");
document.getElementById("Id 'элемента").classList.toggle ("class1"); 
document.getElementById("Id 'элемента").classList.toggle ("class1");
document.getElementById("Id 'элемента").classList.toggle ("class1");
document.getElementById("Id 'элемента").classList.toggle ("class1");
document.getElementById("Id 'элемента").classList.toggle ("class1");
document.getElementById("STORM SPIRIT").className="class1"
document.getElementById("PHANTOM LANCER").classList.toggle ("class1");}


var element2 = document.getElementById('IMAGE1');
                element1.onclick = function() {
            var imgs = document.getElementsByTagName('img');
            for (var i = 0, len = imgs.length; i < len; i++) 
                {imgs[i].classList.toggle("class2")}

element2.classList.toggle("class3");
document.getElementById("Id элемента").classList.toggle ("class1"); 
document.getElementById("Id элемента").classList.toggle ("class1");
document.getElementById("Id элемента").classList.toggle ("class1");
document.getElementById("Id элемента").classList.toggle ("class1");
document.getElementById("Id элемента").classList.toggle ("class1");;}}

В
Ответить с цитированием
  #2 (permalink)  
Старый 16.01.2016, 08:20
Аватар для Lemme
Профессор
Отправить личное сообщение для Lemme Посмотреть профиль Найти все сообщения от Lemme
 
Регистрация: 15.07.2015
Сообщений: 511

Anton6677, вешаете на активный элемент какой-нибудь класс, а потом проверяете его наличие (если есть, то ничего не делать).

<style>
  .active { color: red; }
</style>

<button>Click me</button>
<button>Click me</button>

<script>
  // на все кнопки
  // ps. лучше использовать делегирование
  [].forEach.call(document.querySelectorAll('button'), function(item) {
  	// вешаем событие клик.
  	item.onclick = function() {
  		// проверка, если данный элемент не является активным и есть активный элемент на странице, то ничего не делаем
  		if (!this.classList.contains('active') && document.querySelector('.active')) {
  			return false;
  		}
  		// тут ясно=)
  		this.classList.toggle('active');
  	}
  });
</script>

Последний раз редактировалось Lemme, 16.01.2016 в 08:23.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проблема с onClick в IE 10 molnij Events/DOM/Window 20 06.04.2013 06:09
Ошибка формирования onclick в IE Pavel2012 Internet Explorer 2 23.11.2012 18:06
Отследить открытие ссылки само по себе, без onclick lancer Events/DOM/Window 28 19.11.2011 19:40
OnClick ячейки таблицы и ссылки в этой ячейке MasDen Javascript под браузер 2 30.06.2011 10:34
Событие onClick avtor01 Events/DOM/Window 3 03.09.2009 18:01