以下是功能:
function blockLayer1(){
$('#block1').click(function() {
$("#layer1").toggle();
});
}
function blockLayer2(){
$('#block2').click(function() {
$("#layer2").toggle();
});
}
function blockLayer3(){
$('#block3').click(function() {
$("#layer3").toggle();
});
}
以下是不起作用的案例:
$("#block").click(function(evt) {
switch ($("#layer_container").index(this)) {
case 0 :
$("#layer1").toggle();
break;
case 1 :
$("#layer2").toggle();
break;
case 2 :
$("#layer3").toggle();
break;
}
});
}
答案 0 :(得分:1)
我会尝试进一步抽象这个并创建一个函数:
function blockLayer(layerNum) {
$('#block' + layerNum).click(function() {
$("#layer" + layerNum).toggle();
});
}
你有相同的代码元素重复,除了1个部分(数字),所以它是一个很好的案例抽象&简化。