Kể từ khi tôi đã thêm một số scrollTop
-animation, một số bộ phận của callback của tôi được gọi hai lần:Callback của .animate() được gọi hai lần jquery
$('html, body').animate({scrollTop: '0px'}, 300,function() {
$('#content').load(window.location.href, postdata, function() {
$('#step2').addClass('stepactive').hide().fadeIn(700, function() {
$('#content').show('slide',800);
});
});
});
Nó chỉ dường như lặp lại .show()
, ít nhất tôi don' t có ấn tượng rằng số load()
hoặc số .fadeIn()
cũng được gọi lần thứ hai. Các .show()
được lặp đi lặp lại ngay sau khi nó đã hoàn thành lần đầu tiên. Đặt tốc độ hoạt ảnh của scrollTop thành 0
không giúp ích gì!
Tôi cho rằng nó có liên quan đến hàng đợi hoạt hình, nhưng tôi không thể tìm ra cách tìm cách giải quyết và đặc biệt là lý do tại sao điều này đang xảy ra.
Vâng đó là lý do và thực sự tôi không thể nhớ tại sao tôi từng viết 'html, body'. Thời gian để biến bộ não của tôi trở lại.Cảm ơn – Anonymous
Có lẽ vì hoạt ảnh chỉ html sẽ không hoạt động trong Webkit và chỉ thân máy sẽ không hoạt động trong Opera. Sử dụng cả hai sẽ đảm bảo nó luôn hoạt động, nhưng sẽ kích hoạt gọi lại hai lần trong Firefox. (Tôi có thể đã nhận được các trình duyệt sai ...) –
'html' là bắt buộc đối với IE và cuộc gọi lại sẽ kích hoạt hai lần đối với hầu hết các trình duyệt khác. Tôi đang cố gắng để làm việc một giải pháp cho cùng một vấn đề. –