Я создаю меню, которое открывается и закрывается с помощью 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()
?