我有一个侧栏div,我希望在页面加载时隐藏它。我尝试在pagerender中使用注册启动脚本调用JS函数,并添加" style =" display:none;""。我目前有一个相同的JS调用,但在控制点击,它工作正常......但我希望div最初被隐藏。
编辑:使用prerender在localhost上工作,但不在服务器上工作......
的.aspx:
<div id="mySidenav" class="sidenav">
<a href="javascript:void(0)" class="closebtn" onclick="closeNav()">×</a>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
Code...
</asp:UpdatePanel>
</div>
JS:
function openNav() {
document.getElementById("mySidenav").style.width = "250px";
document.getElementById("main").style.marginLeft = "250px";
}
function closeNav() {
document.getElementById("mySidenav").style.width = "0";
document.getElementById("main").style.marginLeft = "0";
document.body.style.backgroundColor = "white";
}
codebehind.vb:
Private Sub Page_PreRender(sender As Object, e As System.EventArgs) Handles Me.PreRender
ScriptManager.RegisterStartupScript(Me, Me.GetType(), "InitializePage", "InitializePage();", True)
ScriptManager.RegisterStartupScript(Me, Me.GetType(), "closeNav", "closeNav();", True)
End Sub
你知道我可以在页面加载时隐藏这个div /关闭它吗?
答案 0 :(得分:0)
最简单的方法是添加&#34;关闭&#34;样式属性到初始标记。 也就是说,最好将这些属性放在CSS中并引用它们。 请参阅下面的示例:
.navopen{
width: 250px;
margin-left: 250px;
}
.navClosed{
width: 0;
margin-left: 0;
}
你的JS看起来像:
function openNav() {
document.getElementById("mySidenav").className = "navOpen";
}
function closeNav() {
document.getElementById("mySidenav").className = "navClosed";
}
这可能不准确,但应该给你一个想法