我有进步' bar'在IE和Chrome中运行良好。当您点击提交的链接或输入按钮时,会有一个进度' bar'通过JQuery调用。但是Firefox中的行为并不是我所期待的。
这是我的剧本:
$("a, input[type=submit]").click( // http://heartcode.robertpataki.com/canvasloader/
function () {
if ($(this).attr('target') == '_blank' || $(this).hasClass("noloadingbar")) {
}
else {
var cl = new CanvasLoader('canvasloader-container');
cl.setDiameter(65); // default is 40
cl.setDensity(50); // default is 40
cl.setRange(0.8); // default is 1.3
cl.setFPS(29); // default is 24
cl.show(); // Hidden by default
// This bit is only for positioning - not necessary
var loaderObj = document.getElementById("canvasLoader");
loaderObj.style.position = "absolute";
loaderObj.style["top"] = cl.getDiameter() * -0.5 + "px";
loaderObj.style["left"] = cl.getDiameter() * -0.5 + "px";
}
}
)
当我点击Firefox中的链接时,进度' bar'正在加载,就像在IE和Chrome中一样。但是,当我点击上一个按钮(上一页)时,进度' bar'在Firefox中再次启动。
我怎样才能确保这不会发生?
答案 0 :(得分:0)
这是诀窍,离开页面后,告诉de进度条停止。
$(window).unload(function(){
c1.stop();
});
将是:
$(document).on('click','a, input[type=submit]',function(){ // Aan de hand van een klik de functie oproepen
if ($(this).attr('target') == '_blank' || $(this).hasClass("noloadingbar")) {}
else {
var cl = new CanvasLoader('canvasloader-container');
cl.show(); // Hidden by default
$(window).unload(function(){ // Anders stop Firefox niet als je pagina terug gaat
c1.stop();
});
}
});