【发布时间】:2012-02-03 00:49:08
【问题描述】:
我正在创建一个使用 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;
}
}
如果我在.click() 事件中取open_menu() 的内容并将其替换为open_menu(),则每个都按预期工作。如果我使用上面显示的代码,$(this) 无法确定.click() 触发了它并且代码不会运行。
我可以做些什么来让$(this) 选择器协商触发它的原因,同时将其保留在open_menu() 中?
【问题讨论】: