我是相当新的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