vấn đề của tôi là tôi không thể dừng hẹn giờ.stop settimeout trong chức năng đệ quy
Tôi đã có this method để đặt thời gian chờ từ diễn đàn này. Nó phải lưu trữ bộ định danh trong biến toàn cầu. Tình cờ, tôi phát hiện ra rằng nó vẫn đang chạy sau khi tôi ẩn "mydiv".
Tôi cũng cần biết bây giờ, nếu hàm đệ quy tạo nhiều phiên bản hoặc chỉ một lần cho thời gian chờ. Bởi vì đầu tiên tôi nghĩ rằng nó ghi đè lên "var mytimer" mọi lúc. Bây giờ tôi không chắc lắm.
Điều gì sẽ là một cách vững chắc để dừng hẹn giờ?
var updatetimer= function() {
//do stuff
setTimeout(function(){updatetimer();}, 10000);
}//end function
//this should start and stop the timer
$("#mybutton").click(function(e) {
e.preventDefault();
if($('#mydiv').is(':visible')){
$('#mydiv').fadeOut('normal');
clearTimeout(updatetimer);
}else{
$('#mydiv').fadeIn('normal');
updatetimer();
}
});
cảm ơn, Richard
tôi muốn nói đó là khá xấu - đó là chức năng, nhưng không có cách nào để hủy bỏ nó (bởi vì giá trị của setTimeout không bị bắt), nhưng điều đó dễ dàng được sửa và tầm thường so với yêu cầu mỗi giây. Đó là thực sự quá mức, imho. – annakata
cảm ơn, bây giờ tôi không hiểu mã của riêng tôi nữa. Lợi thế của việc sử dụng những hàm ẩn danh đó là gì ??? xem liên kết –
đó là một câu hỏi hoàn toàn khác vì câu trả lời khá rộng: – annakata