我有一个div
<div id="fade_bg">
<div id="login_div">
<form action="../classes/login/Authenticator.php" method="post">
<p>username: <input type="text" name="username" /></p>
<p>password: <input type="password" name="password" /></p>
<p><input type="submit" name="login" /></p>
</form>
<p><a id="cancel" href="#">cancel</a>
</div>
</div>
我只想在什么时候展示
<a id="login" href="">Admin login</a>
被点击。我用了
$(function() {
$('a#login').click(function() {
$('#fade_bg').show();
$('#login').hide();
});
$('a#cancel').click(function() {
$('#fade_bg').hide();
$('#login').show();
});
});
但是,当我单击链接时,我想显示的 div 只出现一瞬间,然后恢复正常,就像我单击了取消按钮一样。为什么会这样?
编辑:JS 调试器控制台上没有错误。
最佳答案
像这样尝试:
$('#login').click(function (e) {
e.preventDefault();
$('#fade_bg').show();
$(this).hide();
});
$('#cancel').click(function (e) {
e.preventDefault();
$('#fade_bg').hide();
$('#login').show();
});
DEMO HERE
关于jQuery .show() 只在一瞬间起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16445408/