Показать сообщение отдельно
  #1 (permalink)  
Старый 16.06.2017, 21:34
Новичок на форуме
Отправить личное сообщение для tupoimudak2 Посмотреть профиль Найти все сообщения от tupoimudak2
 
Регистрация: 16.06.2017
Сообщений: 3

Как реализовать скрытие определённых элементов при клике на один из них
Есть группа элементов(кнопок), при клике на один из них, должны скрываться все остальные, кроме того на который кликнули.
Хотел реализовать так: есть массив со всеми нужными элементами.При клике на один из них с помощью OnClick="Function`s_name(Button`s name)" вызывается функция которая из массива убирает элемент, имя которого указанно в аргументе. После чего скрывает все элементы,которые остались в массиве.
Но, так как в JS я новичок, код, написанный мной успешно не работает, в консоле ошибок нет.
Сам код:
Кнопки на HTML
<button class="circle p" OnClick="hiding(p);">Predators</button>
	 <button class="circle s" OnClick="hiding(s);">Shrubs</button>
	 <button class="circle d" OnClick="hiding(d);">Donate</button>
	 <button class="circle t" OnClick="hiding(t);">Trees</button>
	 <button class="circle h" OnClick="hiding(h);">Hebivores</button>
	 <button class="circle v" OnClick="hiding(v);">Vacancies</button>
	 <button class="circle f" OnClick="hiding(f);">Flowers</button>
	 <button class="circle w" OnClick="hiding(w);">Workers</button>
	 <button class="circle i" OnClick="hiding(i);">Info</button>

var all = ['#p','#s','#d','#t','#h','#v','#f','#w','#i'];//массив с id элементов
var deletethis;//то,что нужно удалить
function hiding(hidethis) {
	var hidethat = "#"+ hidethis; // добавляем # к тому, что получили в виде аргумента
	var deletethis = arr.indexOf(hidethat); // вычисляем номер нужного элемента в массиве
	arr.splice(deletethis,deletethis); // удаляем его
	$(all).hide(); // скрываем все, что осталось
}
Ответить с цитированием