下载文档时使用window.location.href时如何操作gif加载?

时间:2018-07-03 00:24:59

标签: jquery ajax asp.net-mvc

我有以下单击事件处理程序,它导出并下载pdf,但是我想在生成pdf时添加gif动画。到目前为止,这是我尝试过的:

 $("#export_pdf").click(function (e) {
    e.preventDefault();
    $("#ajax_loader").css("display", "");
    var formato = "PDF";
    var url = "/Obras/Export?format=" + formato + "&nombreObra=" + 
    $('#nombre_obra').val();
    window.location.href = url;
    $("#ajax_loader").hide();
});

但是通过加载ajax_loader来显示div的图像是不够的。 我正在使用MVC C#和jquery导出PDF文档,因此我不使用ajax,因此使用window.location.href。

我尝试这样做,但是它对我不起作用。如果有人有任何想法,我将不胜感激。

1 个答案:

答案 0 :(得分:1)

我对ajax加载程序不太熟悉,但是我过去使用过jQuery Spinner:

html-

    <div id="loaderImportFile" class="loader">
    <div id="loadContent" class="loadContent">
        <p id="spinner" class="spinner">

        </p>
    </div>
</div>

jQuery-

    $(document).ready(function () {

         setSpinner("loaderImportFile");


         $('#importForm').submit(function () {

              $('#loaderImportFile').fadeIn();
         });

        function setSpinner(loaderId) {

            var opts = {
                lines: 12,
                length: 7,
                width: 4,
                radius: 10,
                color: '#000',
                speed: 1,
                trail: 60,
                shadow: false,
                hwaccel: false
          };
          var target = document.getElementById(loaderId);
          var spinner = new Spinner(opts).spin(target);

         }

    });

这是我的包裹-

    bundles.Add(new ScriptBundle("~/bundles/spin").Include(
            "~/Scripts/spin.js",
            "~/Scripts/spinner.js"));