Skip to content

Instantly share code, notes, and snippets.

@MoOx
Last active December 12, 2015 09:39
Show Gist options
  • Save MoOx/4753179 to your computer and use it in GitHub Desktop.
Save MoOx/4753179 to your computer and use it in GitHub Desktop.
Please show me how will you write that without jQuery please :) (It's not I'm not able to do it, but you already know that right ?)
// togglable ability (used for navbar)
$('.js-togglable').each(function() {
var togglableContainer = this;
$('.js-togglable__toggler', togglableContainer).on('click keyup', function() {
$('.js-togglable__item', togglableContainer).toggleClass('js-togglable__item--hide');
});
});
@MoOx
Copy link
Author

MoOx commented Feb 11, 2013

I found an other way for the forEach trick.

Array.prototype.slice.call(document.querySelectorAll('.js-togglable')).forEach(function(el){
    var toggler = el.querySelector('.js-togglable__toggler');
    var items = Array.prototype.slice.call(el.querySelectorAll('.js-togglable__item'));

    var toggle = function(event) {
        items.forEach(function(item) {
            item.classList.toggle('js-togglable__item--hide');
        });
    };

    toggler.addEventListener('click', toggle);
    toggler.addEventListener('keyup', toggle);
});

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment