Closing all popups

It looks like you are generally using code like this to toggle the display hidden elements:

var elements = document.getElementsByClassName('pp17');
for (var i = 0; i < elements.length; i++) {
    elements[i].style.display = elements[i].style.display == 'block' ? 'none' : 'block';
}

You could just add onto those similar code which hides the elements in the other popups you do not want to show:


// show 17 - same as before
var elements = document.getElementsByClassName('pp17');
for (var i = 0; i < elements.length; i++) {
    elements[i].style.display = elements[i].style.display == 'block' ? 'none' : 'block';
}

// hide 18 - always set to none
var elements = document.getElementsByClassName('pp18');
for (var i = 0; i < elements.length; i++) {
    elements[i].style.display = 'none';
}

// hide 19 - always set to none
var elements = document.getElementsByClassName('pp19');
for (var i = 0; i < elements.length; i++) {
    elements[i].style.display = 'none';
}

There are also methods to do this without code in Hype, but this would be one JS answer.

2 Likes