如何检查面板在 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/