Jquery 我有3个功能,我正试图把一个开关盒

Jquery 我有3个功能,我正试图把一个开关盒,jquery,Jquery,以下是功能: function blockLayer1(){ $('#block1').click(function() { $("#layer1").toggle(); }); } function blockLayer2(){ $('#block2').click(function() { $("#layer2").toggle(); }); } function blockLayer3(){ $('#block3').cl

以下是功能:

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;

   }
 });
}

我会尝试将其进一步抽象,只创建一个函数:

function blockLayer(layerNum) {
    $('#block' + layerNum).click(function() {
        $("#layer" + layerNum).toggle();
    });
}

除了1个部分(数字)之外,您还有相同的代码重复元素,因此这是一个很好的抽象和简化案例。

为什么需要这么多函数?这些功能与开关有什么共同之处?您已经问了7个问题,但没有接受任何问题,为什么我们要回答您的问题?很抱歉,我需要阅读规则…我会继续的…谢谢您的提醒。为什么要传递num,而不是元素?我需要查看更多的标记,以了解元素的结构以及OP试图实现的具体功能。就目前问题的表面价值而言,这就是如何将其抽象化。