如何在javascript中隐藏进度条

How to hide a progress bar in javascript

本文关键字:隐藏 javascript      更新时间:2023-09-26

>伙计们,我正在做一个航班预订 API 集成项目。当我在按钮进度条上单击搜索航班时,一切都工作正常。但是我遇到的问题是我正在从javascript调用进度条,当页面上出现验证错误时,进度条仍然显示。所以我的问题是,当我使用服务器验证的页面上存在验证错误时,如何隐藏进度条 asp.net。

我的JavaScript是这样的:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
    <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 });
            }, 200);
        }

         function changes() {
             ShowProgress();
         }
    </script>

我在按钮单击时调用它,如下所示:

<asp:Button ID="btnSearch" OnClientClick ="changes();"  runat="server" ValidationGroup ="r" Text="Search" Height="40px" 
                Width="134px" onclick="btnSearch_Click" />

我的进度条div是这样的:

<div class="loading" align="center">
        Loading. Please wait.<br />
        <img src="load.gif" style="height:50px; width :50px;" alt="" />
    </div>

这真的很简单 无需隐藏进度条。我所做的只有在页面没有验证错误时才显示进度条。为此,我将验证组分配给每个验证控件和搜索按钮作为"r",然后检查验证错误为:

function changes() {
            if (Page_ClientValidate("r"))
                ShowProgress();

        }

修改了 changes() 函数。谢谢@Basic