30
同じサイズのがいくつか (約 ) あるページがありますdivs
。ただし、次のclass
ように異なります。
.mosaic-block, .events, .exhibitions, .gallery, .sponsors, .hospitality, .workshops, .lectures {
background:rgba(0, 0, 0, .30);
float:left;
position:relative;
overflow:hidden;
width:6.36896%;
height:22.2287%;
margin:2px;
}
次に、次のnavi
ようなクラスがあります。
<div id="navi">
<a href="#"><div id="t0" class="n0 lfloat"><img src="images/home.png"><span>Home</span></div></a>
<a href="#"><div id="t1" class="n1 lfloat"><img src="images/events.png"><span>Events</span></div></a>
<a href="#"><div id="t2" class="n2 lfloat"><img src="images/workshops.png"><span>Workshops</span></div></a>
<a href="#"><div id="t3" class="n3 lfloat"><img src="images/lectures.png"><span>Lectures</span></div></a>
<a href="#"><div id="t4" class="n4 lfloat"><img src="images/exhibitions.png"><span>Exhibitions</span></div></a>
<a href="#"><div id="t5" class="n5 lfloat"><img src="images/hospitality.png"><span>Hospitality</span></div></a>
<a href="#"><div id="t6" class="n6 lfloat"><img src="images/gallery.png"><span>Gallery</span></div></a>
<a href="#"><div id="t7" class="n7 lfloat"><img src="images/sponsors.png"><span>Sponsors</span></div></a>
</div>
私の目的は、ユーザーがEvents
[ie, div #t1
] をクリックすると、 class を持つボックスを除くすべてのボックスがフェードアウトすること.events
です。同様に、他のオプションについても同様です。これに使っJquery
ています。しかし、コードが長すぎます。短くする方法はありますか?
<script type="text/javascript">
$(function () {
$('a #t0').click(function() {
$("*").animate({
opacity: 1.0
}, 500 );
});
$('a #t1').click(function() {
$("#t1").toggleClass("active");
$(".exhibitions, .workshops, .sponsors, .hospitality, .lectures, .gallery").animate({
opacity: 0.0
}, 500 );
$(".events").animate({
opacity: 1.0
}, 500 );
});
</script>
#t2
、#t3
、などについて#t4
も同様です。コードを短くする方法はありますか?
編集#1
.click(function()
7
つまり、それぞれの時間を個別に記述し、記述#t
するときにそのクラスを除外する必要があります$(".exhibitions, .workshops, .sponsors, .hospitality, .lectures, .gallery").animate()
か??
また、.active
ユーザーが他のオプションをクリックしたときにクラスを削除する方法は?