Дублирование кода, как упростить

Подскажите пожалуйста. имеются три переменные, для которых есть повторяющиеся действия. Каким образом упростить написание или убрать дублирование кода?

$('.main_btna').on('click', function() {
    $('.overlay').fadeIn();
    $('.modal').animate({
        opacity: 'show',
        top: '0'
    },
        1000);
});

$('.main_btn').on('click', function() {
    $('.overlay').fadeIn();
    $('.modal').animate({
        opacity: 'show',
        top: '0'
    },
        1000);
});

$('.schedule').on('click', function() {
    $('.overlay').fadeIn();
    $('.modal').animate({
        opacity: 'show',
        top: '0'
    },
        1000);
});

Ответы (1 шт):

Автор решения: Vadim

Сделай общий селектор, вот так:

$('.main_btna, .main_btn, .schedule').click(()=>{
    $('.overlay').fadeIn();
    $('.modal').animate({
        opacity: 'show',
        top: '0'
    }, 1000);
});

+Если у тебя всего один .overlay [и\или] .modal, лучше дописать к ним :first (без пробела), чтоб jq не искал по древу эл-ты

→ Ссылка