我有一個函數保持幾乎不變,除了不斷變化的類名。我希望能夠讓代碼少一點文字。我該如何去做它只是一個小功能,而不是重複它n次。我的關注也是關於刪除被點擊的最後一個活動類。我在這裏只提供了2個實例,但是這個代碼重複n次數。任何想法都將不勝感激。重複功能,我怎麼可以將它們合併?
$('a.app1-preview').click(function() {
//remove last active classes
$(".app2").removeClass('active');
$(".app2-preview").removeClass('active');
//Add active class for this
$(this).parent().addClass('active');
$(this).addClass('active');
$('.app-preview-2').fadeOut("slow", function() {
$('.app-preview-1').fadeIn("slow");
});
});
$('a.app2-preview').click(function() {
//remove last active classes
$(".app1").removeClass('active');
$(".app1-preview").removeClass('active');
//Add active class for this
$(this).parent().addClass('active');
$(this).addClass('active');
$('.app-preview-1').fadeOut("slow", function() {
$('.app-preview-2').fadeIn("slow");
});
});
HTML代碼:
<div class="app-container">
<ul class="apps">
<li class="app1">
<a title href="#" class="app1-preview blocklink">
<span>ANOTHER<br /> APP</span>
</a>
</li>
<li class="app2">
<a title href="#" class="app2-preview blocklink">
<span>SECOND<br /> APP</span>
</a>
</li>
</div>
@Downvoters,爲什麼downvote?這似乎完全有效.... – epoch
爲什麼你的課程如此具體(「app1」,「app2」)?在我看來,你正在使用他們像ids。您可以使用更通用的方式編寫此代碼,因爲在您的點擊處理程序中'this this'標識了單擊項目,並且與$(「.active」)匹配的元素必須是之前激活的項目。 – nnnnnn
大家好,謝謝你的答案。這些類是特定的,因爲每個類都使用不同的背景圖像和顏色。 – user1038814