Tôi có div với thanh cuộn dọc. Div đang được cập nhật động thông qua ajax và html được chèn bằng cách sử dụng phương thức .html của jQuery. Sau khi div được cập nhật thanh cuộn trở về đầu trang và tôi đang cố giữ nó ở vị trí trước đó.Đợi phương thức jquery .html để kết thúc hiển thị
Đây là cách tôi đang cố gắng nó:
var scrollPos = $('div#some_id').scrollTop(); //remember scroll pos
$.ajax({...
success: function(data) {
$('div#some_id').html(data.html_content); //insert html content
$('div#some_id').scrollTop(scrollPos); //restore scroll pos
}
});
này thất bại. Đoán tốt nhất của tôi là nó không thành công do chèn html không được hiển thị (nghĩa là không cuộn).
Ví dụ: công trình này.
setTimeout(function(){
$('div#some_id').scrollTop(scrollPos);
}, 200);
Nhưng điều này thật là bẩn trong quan điểm của tôi. Tôi không có cách nào để biết rằng một số trình duyệt sẽ không mất nhiều hơn thì 200ms này để hiển thị nội dung được chèn.
Có cách nào để chờ trình duyệt kết thúc hiển thị html đã chèn trước khi tiếp tục không?
http://stackoverflow.com/questions/2030497/how-can-you-get-your-code-to-wait-for-html -and-append-functions-to-complete sẽ giúp – Dhiraj