Использование '$ (this)' в функции

Я создаю меню, которое открывается и закрывается с помощью jQuery. Проще говоря, это работает так:

function open_menu() {
    $(this).next('ul.sub-menu').css('display', 'block').stop(true, false).animate({
        width: '235px',
    }, 500);
}

function close_menu() {
    // close code here
}

status = 'closed'; // set the default menu status

$('a').click(function() {
    switch(status) {
        case 'closed':
            open_menu();
            break;
        case 'open':
            close_menu();
            break;
    }
}

Если я возьму содержимое open_menu () и вставлю его в место open_menu () в событии .click () , все работает должным образом. Если я использую код, показанный выше, $ (this) может не могу понять, что .click () запустил его, а код не запускается.

Есть ли что-то, что я могу сделать, чтобы селектор $ (this) согласовал, что запустило его, оставив его в open_menu () ?

11
задан Combobreaker 3 February 2012 в 01:09
поделиться