Продолжаем знакомиться с JavaScript’ом. На этот раз рассмотрим принцип появления и исчезновения какого-либо элемента при различных событиях в браузере.
Смотрите также материал о том, как получить id, class и другие данные элемента по клику
Сделаем так, чтобы при клике на кнопу включался и выключался определенный div, зададим ему свойство id=”text”.
Теперь с кнопкой. Так как мы хотим обработать нужным нам образом событие клика по кнопке, то в свойствах кнопки запишем <button onclick="chpok('text')">TEST</button>, где в аргументе нашей будущей функции chpok() укажем id нашего блока, который будем прятать: 'text'.
Теперь к самому коду:
Реализация на чистом JavaScript:
JavaScript:<script> function chpok(id){ elem = document.getElementById(id); //находим блок div по его id, который передали в функцию state = elem.style.display; //смотрим, включен ли сейчас элемент if (state =='') elem.style.display='none'; //если включен, то выключаем else elem.style.display=''; //иначе - включаем } </script>HTML:
<button onclick="chpok('text')">TEST</button> <div id="text"> My Text </div>
Реализация того же на jQuery:
jQuery:
<script type="text/javascript" src="http://yastatic.net/jquery/2.1.1/jquery.min.js"></script> <script> $(document).ready(function(){ //дожидаемся загрузки страницы $('#btn1').on("click", function(){ //вешаем событие на клик по кнопке id="btn1" $('#text').toggle(); //включает/выключает элемент id="text" }); }); </script>
HTML:
<button id="btn1">TEST</button> <div id="text"> My Text </div>
Вот и всё, довольно просто.
Кстати, вот список из некоторых популярных событий JavaScript:
onclick – при клике на элемент;
onscroll – при прокрутке экрана;
onmouseover /onmouseout – когда мышь входит / покидает область элемента;
onfocus – когда поле ввода становится активным;
onblur – когда поле ввода становится неактивным;
onchange – когда пользователь меняет значение в поле ввода или параметр выпадающем списке.
На сегодня всё, внимательно следите за кавычками, скобками и точками с запятыми! При ошибках в их простановке работать ничего не будет!