Я сделал простой аккордеон для своего сайта, используя jQuery ... Он отлично работал, но недавно я начал работать над изменением, когда вы щелкаете по заголовку открытых в данный момент сегментов (интерактивная область для перемещения вверх / вниз) , он должен закрыть текущий раздел.
var sideMenu = {
activated: {},
setup: function() {
$('.menu-category-heading').bind('click', function() {
sideMenu.slideMenu($('ul', $(this).parent()));
});
},
slideMenu: function(menuObj) {
if (sideMenu.activated == menuObj) {
$(sideMenu.activated).slideUp(400);
sideMenu.activated = null;
console.log('same');
} else {
$(sideMenu.activated).slideUp(400);
menuObj.slideDown(500);
sideMenu.activated = menuObj;
console.log('new');
}
}
}
По какой-то причине сравнение никогда не работает ... это происходит, если я добавляю $ (menuObj) .attr ('id') и то же самое для активированного. Но это не идеально, поскольку не все элементы будут иметь атрибут id.
Есть предложения, как сделать сравнение объектов? Или любые другие советы?
Спасибо!