Переключить один div за один раз

0

У меня этот код скопирован и вставлен несколько раз с различными идентификаторами элементов меню. Есть ли способ упростить его и/или переключить один контейнер за раз? Спасибо

$('#menu-item-1 a, #TH').click(function () {    

var $container = $('#boxes');

    setTimeout(function(){ $container.masonry() }, 400);

var collapse_content_selector = $(this).attr('href');


var toggle_switch = $(this);
$(collapse_content_selector).toggle(function () {
    if ($(this).css('display') == 'none') {

    } else {

    }
});    
});

$('#menu-item-2 a, #FM').click(function () {

var $container = $('#boxes');

    setTimeout(function(){ $container.masonry() }, 400);

var collapse_content_selector = $(this).attr('href');

var toggle_switch = $(this);
$(collapse_content_selector).toggle(function () {
    if ($(this).css('display') == 'none') {

    } else {

    }
});
});
  • 2
    Используйте общий класс в вашем селекторе. Ваш код внутри фактического обработчика кликов выглядит так, как есть.
  • 0
    Поскольку ваш код в функции click идентичен, вы можете просто объединить селекторы в один $('#menu-item-1 a, #menu-item-2 a, #FM, #TH').click...
Показать ещё 1 комментарий
Теги:
click
containers
toggle
jquery-masonry

1 ответ

0
Лучший ответ
$('.ClassOfClickableObjects').click(function () {  

    var $container = $('#boxes');
    setTimeout(function(){ $container.masonry() }, 400);
    var collapse_content_selector = $(this).attr('href');
    var toggle_switch = $(this);

    $(collapse_content_selector).toggle(function () {
        if ($(this).css('display') == 'none') {

        } else {

        }
    });    
});

Это то, что предлагает Blazemonger...

  • 0
    Я думаю, это работает, есть ли способ, когда я переключаю один другой близко?
  • 0
    $('.ClassOfAllItems').hide(); $(this).show();
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню