0

我正在使用ASP.NET/C#。在我的一个页面中,我正在显示客户列表及其详细信息ASP.NET Listview。在每一行中,我都有一个Linkbutton将在 a 中显示该客户的信息popup。当前,当ShowDetails单击链接时,我正在显示 a loading gif,然后信息popup是显示。我jquery delay()用来延迟显示信息popup

显示弹出窗口的 Jquery 函数:

function ShowCustomerInformationPopUp()
 {
    $('#AuthorizeCustomerLoadImg').show();
    $('#AuthorizeCustomerMask').delay(1200).show("slow");
    $('#AuthorizeCustomerShowCustInfo').delay(1200).show("slow");
 }

我在使用的单击事件上调用此函数Linkbuttoncode behind所以ClientScriptManager.RegisterStartupScript现在当用户单击时Show Details Linkbuttonpopup延迟一点同时loading gif显示。所以我的问题是,loading gif通过延迟显示其他元素是否是显示的好方法。有吗这种方法的任何缺点。你们中的许多人如何表现gif's

欢迎任何建议。

4

1 回答 1

1

我会谨慎使用加载 gif。这意味着我只会在我期望从已执行的过程回调时使用它。IE。例如 AJAX 请求。

loading由于您正在打开一个新窗口,所以当新的浏览器窗口已经有一个指示器 时,我不明白为什么要在打开器窗口上加载 gif 。

如果您确实想在弹出页面加载后准确地使 gif 消失,那么您的代码必须放置在针对打开器窗口的弹出窗口内。

编辑:

既然你声称它不是一个新窗口,那么一个很酷的方法是使用 a fadeIn(),你也可以使用它,show()但我认为如果你这样做,gif 甚至没有足够的时间显示.

无论如何,您将在回调中删除加载 gif,如下所示:

function ShowCustomerInformationPopUp()
 {
    $('#AuthorizeCustomerLoadImg').show();
    $('#AuthorizeCustomerMask').show(1200);

    $('#AuthorizeCustomerShowCustInfo').show(1200, function(){
        // this is the callback function when competed, remove the gif here
        $('#AuthorizeCustomerLoadImg').hide();
    });

 }

不确定哪个div是嫌疑人,因此您可以将上述回调函数应用于您的任一.show()语句。

于 2012-06-16T11:08:56.343 回答