Tôi đang tạo một menu mở và đóng bằng jQuery. Trong thuật ngữ đơn giản, nó hoạt động như thế này:
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;
}
}
Nhược bằng tôi lấy nội dung của open_menu()
và đặt nó ở vị trí của open_menu()
trong trường hợp .click()
, mỗi công trình như mong đợi. Nếu tôi sử dụng mã như hiển thị ở trên, $(this)
không thể tìm ra rằng .click()
đã kích hoạt mã và mã không chạy.
Có điều gì mà tôi có thể làm để có bộ chọn $(this)
thương lượng những gì đã kích hoạt trong khi vẫn giữ nó trong open_menu()
?
Tôi đã thử điều này, nhưng có thể tôi đã không thực hiện đúng cách. Tôi đã thêm 'test = $ (this);' ngay trước nút chuyển và truyền vào. Âm thanh phải không? – Combobreaker
Làm cho nó hoạt động. Đã phải sử dụng 'this', không phải' $ (this) '. Cảm ơn. – Combobreaker