我正在开发iPad应用程序,因为有超过6个iframe可用。完全加载页面后,页面滚动到中间的某个位置。因此,我决定让页面scrolltop写入如下JavaScript代码:更好的方法来查找页面上的所有iframe
$(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);
}
});
}
我想找到一个更好的方法来实现这个任务。你的想法更受欢迎。
什么'FrameID'?此外,您的代码可以轻松优化:如果您只使用iframecompleted进行计数,请不要使用数组 - 请使用数字。你的iframe选择器可以被缓存,为什么你要在'$('html,body')'而不是'$(body)'上调用'animate'? – Zirak