在您的情况下,您可以在下一个 div 的内容中选择一个元素并使用$(...).length
. 如果值 > 0,则加载 DOM,您可以更改页面。
你可能想试试这个功能:
Function.prototype.deferUntil = function(condition, timeLimit) {
var ret = condition();
if (ret) {
this(ret);
return null;
}
var self = this, interval = null, time = ( + new Date());
interval = setInterval(function() {
ret = condition();
if (!ret) {
if (timeLimit && (new Date() - time) >= timeLimit) {
// Nothing
} else {
return;
}
}
interval && clearInterval(interval);
self(ret);
}, 20);
return interval;
};
用法:
(function() {
console.log('Next page loaded');
}).deferUntil(function() {
return $('#nextDiv').length > 0;
}, 3000);
上面的示例将检查id="nextDiv"
每 20 毫秒(不超过 3 秒)的 div。加载 div 后,它将在控制台中显示“已加载下一页”。
你可以试试这个小提琴