我正在創建一個使用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()
?
我試過這個,但我可能沒有做好。 我添加了'test = $(this);'就在切換之前,並通過它。 – Combobreaker 2012-02-03 01:06:46
得到它的工作。必須使用'this',而不是'$(this)'。謝謝。 – Combobreaker 2012-02-03 06:46:36