Advertisement
Guest User

event-model-task-1

a guest
Jul 24th, 2016
291
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve() {
  2.     return function (selector) {
  3.         var element;
  4.         if (selector instanceof HTMLElement) {
  5.             element = document.getElementsByTagName(selector)[0];
  6.         }
  7.         else if (typeof selector == 'string') {
  8.             element = document.getElementById(selector);
  9.         }
  10.  
  11.         if (element) {
  12.             var elementsClassBtn = document.getElementsByClassName('button');
  13.             for (var i = 0, len = elementsClassBtn.length; i < len; i+=1) {
  14.                 elementsClassBtn[i].innerHTML = 'hide';
  15.             }
  16.  
  17.             element.addEventListener('click', function (e) {
  18.                 if (e.target.className == 'button') {
  19.                     var clickedBtn = e.target;
  20.                     var next = clickedBtn.nextElementSibling;
  21.  
  22.                     if (next.className == 'content'
  23.                      && next.nextElementSibling.className == 'button') {
  24.                         if (next.style.display != 'none') {
  25.                             next.style.display = 'none';
  26.                             clickedBtn.innerHTML = 'show';
  27.                         }
  28.                         else {
  29.                             next.style.display = '';
  30.                             clickedBtn.innerHTML = 'hide';
  31.                         }
  32.                     }          
  33.                 }
  34.             }, false);
  35.             return;
  36.         }
  37.  
  38.         throw new Error('The id is neither a string nor an existing DOM element!');
  39.     };
  40. };
  41.  
  42. module.exports = solve;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement