我有一个进度 div,它绝对位于网页顶部。
当我单击 Ajax.ActionLink 时,有时当请求/响应短暂时,我会看到它在顶部闪烁。
如何添加延迟以使进度横幅在 500 毫秒内不显示?
谢谢
这是工作代码
var showProgress = false;
function AjaxBegin()
{
showProgress = true;
setTimeout("if (showProgress) { $('#progress').show(); }", 800);
}
function AjaxComplete()
{
showProgress = false;
$("#progress").hide();
}
function AjaxFailure(ajaxContext)
{
var response = ajaxContext.responseText;
alert("Error Code [" + ajaxContext.ErrorCode + "] " + response);
}
Ajax选项
InsertionMode = InsertionMode.Replace;
OnFailure = "AjaxFailure";
OnBegin = "AjaxBegin";
OnComplete = "AjaxComplete";
HttpMethod = "GET";
您需要自己处理这个问题。
而不是指定一个AjaxOptions.LoadingElementId
您可以通过指定函数来处理加载元素的显示/隐藏OnBegin
(展示它)和OnComplete
(隐藏它)事件。
See http://msdn.microsoft.com/en-us/library/dd460351.aspx http://msdn.microsoft.com/en-us/library/dd460351.aspx欲了解更多详细信息AjaxOptions
.
有几种创建延迟的方法 - 请参阅如何使用 jQuery 等待 5 秒? https://stackoverflow.com/questions/1836105/how-to-wait-5-seconds-with-jquery
这是一个使用 jQuery 实现的示例 -使用 jQuery 延迟显示 ajax 加载 gif https://stackoverflow.com/questions/1851569/delay-the-showing-of-a-ajax-loading-gif-using-jquery
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)