javascript tinh khiết: jsFiddle Demo
Sử dụng jQuery: jsFiddle Demo
(Các bản demo bao gồm một số thiết lập mà chỉ là phụ để hiển thị nội dung thay đổi)
Mở rộng trên khái niệm (chỉ trong trường hợp hiếm hoi) sử dụng bộ tính giờ để theo dõi nội dung của phần tử. Nội dung được quan sát sẽ nhiều hơn khả năng là một sự kết hợp của văn bản, html, chiều rộng và chiều cao của nó. Dưới đây là một cách để theo dõi những:
javascript
function monitor(element,callback){
var self = element;
var h = self.clientHeight;
var w = self.clientWidth;
var txt = self.innerText;
var html = self.innerHTML;
(function flux(){
setTimeout(function(){
var done =
h == self.clientHeight &&
w == self.clientWidth &&
txt == self.innerText &&
html == self.innerHTML;
if(done){
callback();
}else{
h = self.clientHeight;
w = self.clientWidth;
txt = self.innerText;
html = self.innerHTML;
flux();
}
},250);
})()
};
jQuery mở rộng
$.fn.monitor = function cb(callback){
var set = this.first();
var h = set.height();
var w = set.width();
var txt = set.text();
var html = set.html();
(function flux(){
setTimeout(function(){
var done =
h == set.height() &&
w == set.width() &&
txt == set.text() &&
html == set.html();
if(done){
if($.isFunction(callback))callback();
}else{
h = set.height();
w = set.width();
txt = set.text();
html = set.html();
flux();
}
},500);
})()
};
Nguồn
2014-04-10 19:08:46
Có thể cần một số loại cơ chế thời gian để xem các div là dòng chảy hay không. –
Tôi không biết điều đó có nghĩa là gì: $ - người nói tiếng Hà Lan bản địa ở đây –
Chuyển sang màu cam! : P Về cơ bản những gì tôi đã nói là có lẽ sử dụng một setTimeout mà theo dõi nội dung bên trong của div, và khi nó đã không thay đổi trong một khoảng thời gian nhất định sau đó bạn có thể đăng nhập tin nhắn được tải.Nếu nó đã thay đổi, sau đó recurse các chức năng với setTimeout để tiếp tục theo dõi –