CSS:
<style type="text/css">
.modal
{
position: fixed;
top: 0;
left: 0;
background-color: black;
z-index: 99;
opacity: 0.8;
filter: alpha(opacity=80);
-moz-opacity: 0.8;
min-height: 100%;
width: 100%;
}
.loading
{
font-family: Arial;
font-size: 10pt;
border: 5px solid #67CFF5;
width: 200px;
height: 100px;
display: none;
position: fixed;
background-color: White;
z-index: 999;
}
</style>
JS:
<script type="text/javascript">
function ShowProgress() {
// alert("aa");
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 });
}, 200);
}
</script>
HTML:
<div class="loading" align="center" id="loader">
Loading. Please wait.
<br />
<img id="abc" src="../../Images/loader.gif" alt="" />
</div>
<div>
<asp:UpdatePanel ID="UpdatePaneltab" runat="server" UpdateMode="Always">
<ContentTemplate>
<asp:Button ID="btnSearch" runat="server" Text="Run" CssClass="btn-in" OnClick="btnSearch_Click" OnClientClick="ShowProgress()" />
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="btnSearch" />
</Triggers>
</asp:UpdatePanel>
我正在使用上面的代码来显示按钮点击时加载图片div。但是我无法在按钮点击代码内的任何地方隐藏它。它会在所有按钮点击代码执行后自动隐藏。我有exporttoexcel功能,我希望在我的此功能开始执行之前隐藏它,因为一旦导出开始,就无法控制页面和代码。但是即使导出完成,加载图像也会连续显示。 目前我正在使用
ClientScript.RegisterStartupScript(this.GetType(), "hwa", "document.getElementById('loader').style.visibility = 'hidden';", true);
隐藏div。
我无法找出问题是什么。我需要在代码中添加一些我遗漏的东西。 有什么建议 ?有任何想法吗? 请帮忙。我被困了。
答案 0 :(得分:0)
你应该在javascript文件或aspx文件中写一个javascript函数。
function HideLoader() {
$(".loading").hide();
$(".modal").hide();
}
然后你应该在你的启动脚本中调用这个函数:
ClientScript.RegisterStartupScript(this.GetType(), "hwa", "HideLoader();", true);
由于在加载页面后将RegisterStartupScript
的输出写入页面,因此不会执行内联脚本。
<强> 编辑: 强>
您应该隐藏.modal
div
和.loading
div
。我改变了javascript。你应该给HideLoader javascript函数添加一个断点,看看它是否被调用。如果它被调用并且它不会隐藏div,那么您将有更轻松的时间来解决问题。只需更正js函数即可隐藏加载div。如果它没有被调用,你应该专注于RegisterStartupScript,看看如何让它调用你的函数。