我是相當新的jQuery和我試圖想出一個辦法來簡化/優化我的代碼,因爲現在它的工作原理,但我只知道有這樣做的更有效的方法。jQuery代碼簡化
$(".th_s3studios_layout").click(function(){
$("#portfolio_home").fadeOut(500);
// Fading in the project page
$("#th_s3studios_layout").delay(1000).fadeIn(500);
});
$(".th_mangafan_layout").click(function(){
$("#portfolio_home").fadeOut(500);
// Fading in the project page
$("#th_mangafan_layout").delay(1000).fadeIn(500);
});
$(".th_356_P3").click(function(){
$("#portfolio_home").fadeOut(500);
// Fading in the project page
$("#th_356_P3").delay(1000).fadeIn(500);
});
$(".th_hrycyna_layout").click(function(){
$("#portfolio_home").fadeOut(500);
// Fading in the project page
$("#th_hrycyna_layout").delay(1000).fadeIn(500);
});
下面是一些相應的HTML標記。
<div class="col_16" id="portfolio_home">
<div class="col_04 folio"><div class="th_s3studios_layout">Content 1</div></div>
<div class="col_04 folio"><div class="th_mangafan_layout">Content 2</div>
</div>
<div class="col_16" id="th_s3studios_layout"
<div class="col_04 folio"><div class="preview1">Pop up stuff for content 1</div></div>
<div class="col_04 folio"><div class="preview2">Pop up stuff for content 1</div></div>
</div
<div class="col_16" id="th_mangafan_layout"
<div class="col_04 folio"><div class="preview1">Pop up stuff for content 2</div></div>
<div class="col_04 folio"><div class="preview2">Pop up stuff for content 2</div></div>
</div
你可以看到功能基本上淡出一個框,另一個變淡。您可以看到它所淡入的框始終與.click函數名稱相同,只是它是一個單獨的CSS id容器而不是類。我想,必須有創造每個它們的共同作用以某種方式改變類的名稱匹配函數的名稱相同的ID的方式,並重新使用該代碼的其餘部分。任何人都可以幫我解釋一下嗎?
這是非常困難提供任何建議,而無需查看HTML的結構。我建議你看一下jQuery的遍歷方法:http://api.jquery.com/category/traversing/ – 2012-02-19 18:12:02
我添加HTML標記,以幫助澄清。 – Xenostar 2012-02-19 18:19:52