所以,我正在尝试在ASP.NET WebForms上为我的网站加载动画。我注意到有些页面的加载速度非常快,有些页面却没有。 我以这种方式执行了动画:
$(document).ready(function () {
$('#loadingImage').hide();
$('#loading').html("");
});
但是现在我想延迟,大约在1-2秒内加载快速加载的页面不显示动画。 我试着这样做:
setTimeout(checkDocument, 3000);
function hideLoading() {
$('#loadingImage').hide();
$('#loading').html("");
}
function checkDocument() {
$(document).ready(hideLoading);
};
我的HTML代码:
<div id="loading" style="text-align: center" ><asp:Image ID="loadingImage" runat="server" ImageUrl="~/Images/loading.gif" /></div>
所以,这是错误的。此代码立即执行我的动画,然后在3秒内关闭动画。 帮助找到正确的方法。 还有一个,我有这行代码
$('#loading').html("");
为什么如果我们不在html部分中不使用任何参数,那么动画就无法停止,当我们将“”带到html然后一切正常。请解释一下。
答案 0 :(得分:0)
您需要做的是首先使加载动画不可见,然后在延迟后使其可见。最后,使用document.ready事件在加载所有内容时隐藏它。你现在正在做的只是推迟创建document.ready事件处理程序,这没有任何意义。 (不要忘记,创建一个事件处理程序实际上不会立即执行该函数,它只是创建一些侦听将来发生的事件的东西。)
将div定义更改为
public void AdmitStudent(Student student)
{
try
{
if (_students.Count == MaximumNumberOfSeats)
{
...
}
if (!_students.Contains(student))
{
// Add this line to indicate which school
// the student is being admitted to
student.School = this;
_students.Add(student);
_subject.OnNext(student);
}
}
catch(Exception ex)
{
_subject.OnError(ex);
}
}
如果可能的话,它应该是第一件放入页面<div id="loading" style="text-align: center" hidden>
部分的内容。
然后,在它下面,放入以下脚本标记:
<body>