我试图隐藏div#errorLog
如果没有错误,并显示它是否存在。 jQuery检测错误很好,执行正在通过if语句没有问题。但是,在执行代码时,hide()
会显示div
(如果已隐藏),show()
会隐藏div
(如果已经显示)。
我正在使用IE 11.它在Firefox中没有问题。为什么show()
和hide()
充当切换?
HTML代码(不包括母版页):
<asp:Content ContentPlaceHolderID="Title" runat="server">
<title>Login</title>
</asp:Content>
<asp:Content ID="Login" ContentPlaceHolderID="Log_orReg" runat="server">
<h1 class="chosen"><a href="Login.aspx">Login</a></h1>
<h1 class="inline">|</h1>
<h1 class="notChosen"><a href="Register.aspx">Register</a></h1>
<br />
<form id="LoginForm" style="margin: 5px; " runat="server">
<div class="fill">Username:</div><asp:TextBox id="Username" CssClass="textboxes" runat="server" />
<asp:RequiredFieldValidator ID="vldUsername" runat="server" ErrorMessage="You must enter a username." ControlToValidate="Username" Text="*"></asp:RequiredFieldValidator>
<br />
<div class="fill">Password:</div><asp:TextBox id="Password" CssClass="textboxes" TextMode="Password" runat="server" />
<asp:RequiredFieldValidator ID="vldPassword" runat="server" ErrorMessage="You must enter a password." ControlToValidate="Password" Text="*"></asp:RequiredFieldValidator>
<br />
<asp:button ID="LogReg_btn" CssClass="LogReg_btn" onclick="cmd_submit" runat="server" Text="Login"></asp:button>
<div id="errorLog" class="Error_Log" runat="server">
<asp:ValidationSummary ID="ValidationSummary" runat="server" ShowMessageBox="false" DisplayMode="BulletList" ShowSummary="true" ShowValidationErrors="true" />
</div>
</form>
</asp:Content>
Jquery代码:
$(document).ready(function () {
$('.Error_Log').hide();
var bottom = $(".LogReg_forms").position().top + $('.LogReg_forms').outerHeight(true);
var position = parseInt(bottom + 10) + "px";
$(".Error_Log").css('top', position);
$(".LogReg_btn").click(function () {
var isPageValid = Page_ClientValidate('');
if (isPageValid == true) {
$(".Error_Log").hide("fade");
}
else {
$(".Error_Log").show("fade");
}
});
});
答案 0 :(得分:0)
我找到了解决方案。这个问题与jquery版本1.6有关。如果您遇到此问题,请确保更新到最新的jquery版本。