如果单击上一页,则加载栏仍在Firefox中运行

时间:2014-12-02 11:12:10

标签: jquery firefox

我有进步' 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中再次启动。

我怎样才能确保这不会发生?

1 个答案:

答案 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();
    });
  }
});