如何优化此JavaScript重复项

猫王

我编写了这段代码,但是由于我刚刚开始学习JS,因此无法找出优化此代码的最佳方法。因此,对每个if语句都进行了重复。

$(function() {
    var lang = $(".lang input[type='checkbox']");
    var gender = $(".gender input[type='checkbox']");
    if(lang.length == lang.filter(":checked").length){
        $('.lang').hide();
        $('.lang-all').click(function(){
            $('.lang-all').hide();
            $('.lang').slideToggle(200);
        });
    } else {
        $('.lang').show();
        $('.lang-all').hide();
    }

    if(gender.length == gender.filter(":checked").length){
        $('.gender').hide();
        $('.gender-all').click(function(){
            $('.gender-all').hide();
            $('.gender').slideToggle(200);
        });
    } else {
        $('.gender').show();
        $('.gender-all').hide();
    }
});

所以这是我的代码,如您在第15行上看到的if(gender ...我有一个以前的代码的副本,只是将变量从“ lang”更改为“ gender”。由于我有两个以上的变量,因此不想为每个代码都重复编写代码,所以我希望有一个优化它的解决方案。

马文·梅德罗斯(Marvin Medeiros)

您可以编写一个函数来使您的代码更抽象,请参见:

function isChecked(obj, jq1, jq2){
    if(obj.length == obj.filter(":checked").length){
        jq1.hide();
        jq2.click(function(){
            jq2.hide();
            jq1.slideToggle(200);
        });
    } else {
        jq1.show();
        jq2.hide();
    }
}

//Your jQuery code, more abstract
$(function() {
    var lang = $(".lang input[type='checkbox']");
    var gender = $(".gender input[type='checkbox']");

    isChecked(lang, $('.lang'), $('.lang-all'));
    isChecked(gender, $('.gender'), $('.gender-all'));
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何优化此代码以检查重复项和缺失值?

来自分类Dev

如何从“此PC”中删除重复项?

来自分类Dev

如何使用此代码清除重复项?

来自分类Dev

如何在 JavaScript 中检查此 JSON 数组中的重复项?

来自分类Dev

如何使用javascript优化此代码?

来自分类Dev

如何比较此循环中的日期值以查找重复项

来自分类Dev

如何减少此JavaScript中的代码重复?

来自分类Dev

如何减少此JavaScript中的代码重复?

来自分类Dev

如何优化此UDF

来自分类Dev

如何优化此功能

来自分类Dev

如何优化此查询?

来自分类Dev

如何优化此代码?

来自分类Dev

如何优化此查询?

来自分类Dev

如何优化重复加法

来自分类Dev

c-如果不是,则优化重复项

来自分类Dev

如何防止此代码在每个场景中重复出现以优化我的游戏?

来自分类Dev

如何优化此数组循环

来自分类Dev

如何优化此数组循环

来自分类Dev

如何优化此CUDA内核

来自分类Dev

此代码如何优化缩小?

来自分类Dev

如何优化此LinQ查询?

来自分类Dev

如何优化此OpenCL内核?

来自分类Dev

如何优化此ActiveRecord查询?

来自分类Dev

如何优化此专用查询?

来自分类Dev

如何优化此HTTP连接?

来自分类Dev

如何优化此Unix命令?

来自分类Dev

如何优化此Python代码?

来自分类Dev

如何优化此android代码?

来自分类Dev

如何优化此Python代码?