简单地设置它们并切换它们似乎是一种更简单的方法。我可能有相反的初始状态/类,但这应该切换东西。
$("#infDivOne").hide();
$("#infDivTwo, #infDivThree, #infDivFour").show();
$(".goActive2, .goActive3, .goActive4").addClass('glow');
$("#clickDiv2, #clickDiv3, #clickDiv4").addClass('rotated');
$("#clickDiv").click(function () {
$("#infDivOne, #infDivTwo, #infDivThree, #infDivFour").toggle();
$(".goActive, .goActive2, .goActive3, .goActive4").toggleClass('glow');
$("#clickDiv, #clickDiv2, #clickDiv3, #clickDiv4").toggleClass('rotated');
});
现在,如果您希望所有这些都切换,只需执行以下操作:
$("#clickDiv, #clickDiv2, #clickDiv3, #clickDiv4").click(function () {
$("#infDivOne, #infDivTwo, #infDivThree, #infDivFour").toggle();
$(".goActive, .goActive2, .goActive3, .goActive4").toggleClass('glow');
$("#clickDiv, #clickDiv2, #clickDiv3, #clickDiv4").toggleClass('rotated');
$("#clickDiv").toggleClass('rotated');
$(".goActive").toggleClass('glow');
});
编辑:鉴于您的所有评论,我相信通过课程更容易做到这一点:
标记:
<div id="clickDiv1" class="clickDiv">One click</div>
<div id="clickDiv2" class="clickDiv">Two click</div>
<div id="clickDiv3" class="clickDiv">Three click</div>
<div id="clickDiv4" class="clickDiv">Four click</div>
<div id="infDivOne" class="InfoDiv">Info 1</div>
<div id="infDivTwo" class="InfoDiv">Info 2</div>
<div id="infDivThree" class="InfoDiv">Info 3</div>
<div id="infDivFour" class="InfoDiv">Info 4</div>
<div id="goActive">ACTIVE: <span class="goActive">One</span>
<span class="goActive">Two</span>
<span class="goActive">Three</span>
<span class="goActive">Four</span>
</div>
代码:
// event handler
$(".clickDiv").click(function () {
var index = $(this).index();
$('.InfoDiv').hide().eq(index).show();
$('.goActive').removeClass('glow').eq(index).addClass('glow');
$('.clickDiv').removeClass('rotated').eq(index).addClass('rotated');
});
// setup first one as active
$(".clickDiv").eq(0).trigger('click');
小提琴在行动中展示:http: //jsfiddle.net/MMerB/