【问题标题】:How to stop page loading image when page is refreshed页面刷新时如何停止页面加载图像
【发布时间】:2017-11-23 05:24:16
【问题描述】:

Javascript

<script type="text/javascript">
    function ShowProgress() {
        setTimeout(function () {
            var modal = $('<div />');
            modal.addClass("modal");
            $('body').append(modal);
            var loading = $(".loading");
            loading.show();
            var top = Math.max($(window).height() / 2 - loading[0].offsetHeight / 2, 0);
            var left = Math.max($(window).width() / 2 - loading[0].offsetWidth / 2, 0);
            loading.css({ top: top, left: left });
        }, 2);
</script>

C#

按钮行命令

string script = "$(document).ready(function () { $('[id*=GridView1_EmailSendbtn_1]').click(ShowProgress()); });";
ClientScript.RegisterStartupScript(this.GetType(), "load", script, true);

这是单击按钮时触发的 ajax,但即使在我刷新页面时它也会继续加载。 我需要它在页面刷新时停止。

有人可以帮忙吗?

提前致谢

【问题讨论】:

  • 首先,我没有在问题中看到任何 ajax 内容。你什么时候注册你的ClientScript?点击按钮?你能发布按钮的事件处理程序吗?
  • 您的 GridView 在 UpdatePanel 中?如果是这样,则页面没有被刷新

标签: javascript asp.net webforms


【解决方案1】:

您是否尝试从 ShowProgress 函数中删除括号?如下所示。

string script = "$(document).ready(function () { ('[id*=GridView1_EmailSendbtn_1]').click(ShowProgress); });";

【讨论】:

  • 此功能运行良好。当我刷新页面时,我需要另一个停止
  • 我相信 ShowProgress 将始终在您刷新页面时被调用,因为您在 doc.ready 上触发 ShowProgress() 并且没有将函数“名称”(仅)分配给点击处理程序。此外,我怀疑 showProgress 是否会在点击事件上触发。如果您希望该功能在页面刷新/重新加载时停止,我建议您在点击处理程序中使用ShowProgress 而不是ShowProgress()
猜你喜欢
  • 2015-11-14
  • 1970-01-01
  • 1970-01-01
  • 2013-02-11
  • 1970-01-01
  • 2019-05-26
  • 2011-09-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多