Roy*_*mir 3 html javascript iframe jquery progress-bar
在我的工作(内联网) - 我有一个aspx页面,其中有许多Iframe(我们所有的).
每个iframe都由btnX设置(js/jquery)(aspx页面中有很多按钮......有些设置src到iframes - 有些没有).

注意:progrssBAr在主页面上...
目标:在iframe加载时progressBar ...
代码:(起初myPageWrapper是display:none)
$('#myPageWrapper').on ('load','iframe',function () { $("#myProgressBar").hide();});
Run Code Online (Sandbox Code Playgroud)
2个问题:
showingProgfressBar怎么样?我不想编辑所有btn的事件"onclick" - 是否有任何集中解决方案[使用jquery]?我需要做的事情:
"当btn设置src为iframe时 - 显示myProgressBar"
src为iframe B的其他按钮 - 加载非常快......一旦加载 - 它隐藏了进度条(看我的代码) - 但它不应该...... 一个又didnt完成....Luc*_*ofi 12
演示: http ://so.lucafilosofi.com/iframes-loading-with-progress-bar-using-jquery/
主页负责人
var iframes = [], progress = 0;
$(function() {
$pGressIndex = $('#progress-bar-indicator');
$('#navigation a').click(function() {
var iframe_id = this.hash.split('#')[1];
if (iframes.indexOf(iframe_id) === -1) {
$('#log').prepend('<p><strong>' + iframe_id + '</strong> is loading!</p>');
iframes.push(iframe_id);
if (parseInt($pGressIndex.width()) == 960) {
$pGressIndex.removeAttr('style');
}
var fW = (iframes.length > 1) ? (660 - (20 * iframes.length ) ) : 660;
$pGressIndex.animate({
width : fW
}, 5000);
var iframe_page = iframe_id + '.html';
if ($(this.hash).length != 0) {
$(this.hash).remove();
}
$('<iframe>').attr({
id : iframe_id,
src : iframe_page,
frameBorder : 0,
width : 960
}).appendTo('#iframes-wrapper');
}
return false;
});
});
Run Code Online (Sandbox Code Playgroud)
主页底部:
window.addEventListener("message", function(e) {
console.log(iframes);
var index = iframes.indexOf(e.data);
iframes.splice(index, 1);
if (iframes.length == 0) {
$pGressIndex.stop(true).animate({
width : 960
}, 100);
}
$('#' + e.data).show();
}, false);
Run Code Online (Sandbox Code Playgroud)
每个iframe页面的底部:
top.postMessage('frame-name-or-what-you-want', window.location.href);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14247 次 |
| 最近记录: |