我正在制作导航,我需要在点击时显示一些不同的东西。但一次只能显示一个选项卡。我不是专业的 jquery,所以希望有人能告诉我我做错了什么?
当我进入我的网站时,我需要显示我的登录框,但是当我推送新用户时,登录框应该向上滑动,然后新用户框应该向下滑动。
HTML
<div class="nav">
<a id="logmein" href="#">login</a>
<a id="createme" href="#">new user</a>
<div id="logmein-box">logmein</div>
<div id="createme-box">createme</div>
</div>
CSS
.nav {width:600px; height:500px; background-color:#F60;}
#logmein-box {display:none; width:400px; height:400px; background-color:#F20;}
#createme-box {display:none; width:400px; height:400px; background-color:#567;}
查询
$("#logmein").click(function(e) {
e.preventDefault();
$(".logmein-box").slideToggle(200);
if(this).hasClass("test");
return;
$(this).addClass("test");
$(".createme-box").hide();
});
我还做了一个 codepen - fiddle 离线了。
http://codepen.io/anon/pen/mHGbJ
编辑:我最终使用了这段代码 - 任何人都可以用相同的输出制作更短更智能的方法吗?
$('#login-slide').click(function (e) {
e.preventDefault();
if (!$(this).hasClass("selected")) {
$('#user-box').slideUp(function () {
$('#login-slide').addClass('selected');
$('#user-slide').removeClass('selected');
$('#login-box').slideDown();
});
}
});
//here is 2 buttons because i need to enter new user from two buttons.
$('#user-slide, .lab-key-continue-btn').click(function (e) {
e.preventDefault();
if (!$(this).hasClass("selected")) {
$('#login-box').slideUp(function () {
$('#user-slide').addClass('selected');
$('#login-slide').removeClass('selected');
$('#user-box').slideDown();
});
}
});
});
所选类仅用于我的导航按钮上的背景颜色,因此我可以看到哪个是活动的。
在这里小提琴:http: //jsfiddle.net/iBertel/54Xyu/