嘗試
var request = $.ajax({url: "/get/my/page.php", dataType: "html"});
request.done(function (data, textStatus, jqxhr) {
// parse returned `data` string for html
var html = $.parseHTML(data),
//
len = html.length,
div = $("div");
// do stuff when all images loaded into `div`
div.on("imgsready", function(e, htmlimgs, divimgs) {
console.log("ready", htmlimgs, divimgs);
$(e.target).prepend(divimgs + " images ready<br>")
});
// set `div` html contents to `html` string
$.when(div.html(html)
// return image `on` `load` event
, $("img", div)
.load(function(e) {
// return image `promise` object
return $(e.target).promise()
})
)
.then(function (el, i) {
// if `div` contains `len` length images , call `imgsready` event
return el.children(i).length === (i.length && len)
&& el.children(i).eq(len -1).is("*")
? el.trigger("imgsready", [len, i.length])
// else check again in 1000ms
: setTimeout(function() {
el.children(i).eq(len -1).is("*") ?
el.trigger("imgsready", [len, i.length])
: console.log(el.children(i).length)
},1000)
});
});
的jsfiddle http://jsfiddle.net/guest271314/vhuaen71/
沒有沒有。 – 2014-10-10 01:50:54
有些東西給它一個體面的嘗試,像http://imagesloaded.desandro.com/(如果你對圖像感興趣)。 – 2014-10-10 01:51:28
你可能想參考這篇文章: http://stackoverflow.com/questions/6571890/check-if-a-given-dom-element-is-ready – Hatjhie 2014-10-10 01:51:52