javascript - 如何检查面板在 JavaScript 中是否可见?

标签 javascript asp.net

如何检查面板在 JavaScript 中是否可见?我正在使用 ASP.NET 2.0。

最佳答案

假设您在服务器端设置面板的可见性,检查 document.getElementById() 返回的值将起作用,前提是您确保使用正确的面板控件的客户端 ID(不要对其进行硬编码)。

请参阅客户端 findPanel() 函数中的检查以进行演示。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script type="text/javascript">
        function findPanel() {
            var panel = document.getElementById("<%= pnlMyPanel.ClientID %>");
            if (panel) {
                alert("Panel is visible");
            }
            else {
                alert("Panel is not visible");
            }

//        // And this would work too:
//        alert((<%= pnlMyPanel.Visible.ToString().ToLower() %>) ? "Panel is visible": "Panel is not visible");

        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Panel runat="server" ID="pnlMyPanel">
            <p>
                This is a panel.</p>
        </asp:Panel>
        <asp:Button runat="server" ID="btnToggle" Text="Toggle panel visibility..." />
        <input type="button" value="Do client-side visibility check..." onclick="javascript:findPanel();" />
    </div>
    </form>
</body>
</html>

代码隐藏文件中的以下代码在单击 btnToggle 时切换面板的可见性:

protected void Page_Load(object sender, EventArgs e)
{
    btnToggle.Click += new EventHandler(btnToggle_Click);
}

void btnToggle_Click(object sender, EventArgs e)
{
    pnlMyPanel.Visible = !pnlMyPanel.Visible;
}

关于javascript - 如何检查面板在 JavaScript 中是否可见?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10477080/

相关文章:

c# - 如何使用 asp.net web 表单从代码后面访问文本框、更新面板内的标签

asp.net - ASP.MVC - View 数据

javascript - 删除包含特定字符串的 <p>

javascript - 我以前没见过的比较运算符

改变背景图片的javascript函数

c# - 编程引用任何人?

c# - 如何知道 asp.net 站点是从移动设备还是从系统/笔记本电脑/机器(windows、mac 等)访问的

javascript - 如何在元素通过过渡重新定位后防止滑动

javascript - 如何在需要时将 JavaScript 注入(inject) WebView?

asp.net - SMTP 通过 ASP.Net 2 session 大小问题