document.addEventListener('click', function(e) {
if (!e.target.closest('.tileset-showitems')) {
tilesetShowListRemove();
}
});
- .active {
+ .active .box {
const containerSelector = '.tileset-showitems';
const buttonSelector = `${containerSelector} .tileset-showitems-trigger`;
const activeClass = 'active';
const closeAllExcept = container => document
.querySelectorAll(`${containerSelector}.${activeClass}`)
.forEach(n => n !== container && n.classList.remove(activeClass));
document.addEventListener('click', ({ target: t }) => {
const button = t.closest(buttonSelector);
const container = t.closest(containerSelector);
if (button) {
container.classList.toggle(activeClass);
}
closeAllExcept(container);
});
window.addEventListener('keydown', e => e.key === 'Escape' && closeAllExcept());
var category_list = categoryList();
alert(category_list);
var timerId = setInterval(function() {
$.get('someUrl',function(data){
console.log(data);
});
}, 2000);
$('.js-md-catalog-open').on("click", function() {
$("viewport").attr("content", "width=device-width, initial-scale=1.0, user-scalable=no");
});
$(".js-overlay").on("click", function() {
$("viewport").attr("content", "width=device-width, initial-scale=1.0");
});
.images_box a {
display: none;
}
.images_box a.active {
display: inline;
}
const containerSelector = '.items-list-item-wrapper';
const buttonSelector = '.items-list-item-colors input';
const contentSelector = '.images_box a';
const activeClass = 'active';
// jquery, как вы и хотели
$(containerSelector).on('change', buttonSelector, function(e) {
$(contentSelector, e.delegateTarget)
.removeClass(activeClass)
.eq($(buttonSelector, e.delegateTarget).index(this))
.addClass(activeClass);
}).each((i, n) => $(buttonSelector, n).first().click());
// или, к чёрту jquery
document.querySelectorAll(containerSelector).forEach(n => {
n.addEventListener('change', onChange);
n.querySelector(buttonSelector).click();
});
function onChange({ target: t }) {
if (t.matches(buttonSelector)) {
const buttons = this.querySelectorAll(buttonSelector);
const index = Array.prototype.indexOf.call(buttons, t);
this.querySelectorAll(contentSelector).forEach((n, i) => {
n.classList.toggle(activeClass, i === index);
});
}
}