我正在开发iPad应用程序,因为有超过6个iframe可用。完全加载页面后,页面滚动到了中间的某些位置。所以我决定让页面滚动顶部编写这样的JavaScript代码:
$(document).ready(function() {
try {
var iframecompleted = [];
$("iframe[id*='iframe']").each(function(eli, el) {
$(this).bind("load", iframeinit);
});
function iframeinit() {
iframecompleted.push($(this).id);
$(this).unbind("load", iframeinit);
}
var timer = setInterval(function() {
if ($("iframe[id*='iframe']").length == iframecompleted.length) {
clearInterval(timer);
$('html, body').animate({
scrollTop: 0
}, 500);
if (FrameID != "") {
var j = 0;
var ss = FrameID.split(",")
for (j = 0; j < ss.length; j++) {
var collPanel = $find("pane" + ss[j]);
if (collPanel != null)
collPanel.set_Collapsed(true);
}
FrameID = "";
}
}
}, 10);
}
catch (e) {
alert(e);
}
});
}
我想找到一种更好的方法来完成这项任务。你的想法更受欢迎。
答案 0 :(得分:0)
你可以这样做:
var count = 0;
$("iframe").load(function() {
if (++count === 6)
{
alert("TODO: All the frames are loaded, do you stuff");
}
});
答案 1 :(得分:0)
您可以这样做:
var count = $('iframe').length; $(function() { $('iframe').load(function() { count--; if (count == 0) alert('all frames loaded'); }); });
希望有所帮助