Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* globals $ */
- /*
- Create a function that takes an id or DOM element and:
- */
- function solve() {
- return function (selector) {
- //var domElement = document.querySelector(selector);
- var domElement = document.getElementById(selector);
- if (typeof (selector) !== 'string' && !(selector instanceof HTMLElement)) {
- throw new Error('Selector must be string or DOM element');
- }
- if (domElement === null) {
- throw new Error('The provided DOM element is non-existent');
- }
- //var allButtons = document.getElementsByClassName('button');
- var allButtons = domElement.getElementsByClassName('button');
- for (var i = 0, len = allButtons.length; i < len; i += 1) {
- allButtons[i].innerHTML = 'hide';
- }
- domElement.addEventListener('click', function (ev) {
- var clickedButton = ev.target;
- if (clickedButton.classList.contains('button')) {
- var content = clickedButton.nextElementSibling;
- while (content && !content.classList.contains('button')) {
- if (content.classList.contains('content')) {
- // console.log(content);
- if (content.style.display === '') {
- clickedButton.innerHTML = 'show';
- content.style.display = 'none'
- } else if (content.style.display === 'none') {
- clickedButton.innerHTML = 'hide';
- content.style.display = '';
- }
- break;
- }
- content = content.nextElementSibling;
- }
- }
- });
- };
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement