javascript - javascript代码的简化

标签 javascript jquery

是否可以将下面的代码压缩成几行? 对于 8 个不同的事件,有类似的 _jq_overlay_x_jq_overlay_y 语句。我认为压缩这些行会更好,这样更有利于优化。

提前致谢

  $(document).ready(function(){
        $('#_jq_overlay_x').click( function(event) { 
            event.preventDefault(); 
            $('#_jq_overlay1').fadeOut(500); 
        });

        $('#_jq_overlay_y').click( function(event) { 
            event.preventDefault(); 
            $('#_jq_overlay1').fadeIn(500); 
        });
        $('#_jq_overlay_x').click( function(event) { 
            event.preventDefault(); 
            $('#_jq_overlay2').fadeOut(500); 
        });

        $('#_jq_overlay_y').click( function(event) { 
            event.preventDefault(); 
            $('#_jq_overlay2').fadeIn(500); 
        });
            $('#_jq_overlay_x').click( function(event) { 
            event.preventDefault(); 
            $('#_jq_overlay3').fadeOut(500); 
        });

        $('#_jq_overlay_y').click( function(event) { 
            event.preventDefault(); 
            $('#_jq_overlay3').fadeIn(500); 
        });
            $('#_jq_overlay_x').click( function(event) { 
            event.preventDefault(); 
            $('#_jq_overlay4').fadeOut(500); 
        });

        $('#_jq_overlay_y').click( function(event) { 
            event.preventDefault(); 
            $('#_jq_overlay4').fadeIn(500); 
        });
            $('#_jq_overlay_x').click( function(event) { 
            event.preventDefault(); 
            $('#_jq_overlay5').fadeOut(500); 
        });

        $('#_jq_overlay_y').click( function(event) { 
            event.preventDefault(); 
            $('#_jq_overlay5').fadeIn(500); 
        });
            $('#_jq_overlay_x').click( function(event) { 
            event.preventDefault(); 
            $('#_jq_overlay6').fadeOut(500); 
        });

        $('#_jq_overlay_y').click( function(event) { 
            event.preventDefault(); 
            $('#_jq_overlay6').fadeIn(500); 
        });
            $('#_jq_overlay_x').click( function(event) { 
            event.preventDefault(); 
            $('#_jq_overlay7').fadeOut(500); 
        });

        $('#_jq_overlay_y').click( function(event) { 
            event.preventDefault(); 
            $('#_jq_overlay7').fadeIn(500); 
        });
            $('#_jq_overlay_x').click( function(event) { 
            event.preventDefault(); 
            $('#_jq_overlay8').fadeOut(500); 
        });

        $('#_jq_overlay_y').click( function(event) { 
            event.preventDefault(); 
            $('#_jq_overlay8').fadeIn(500); 
        });
 });

最佳答案

要么使用类而不是 id,要么将所有类似的类组合成类似的内容:

$("#object1, #object2, #object3, ...").click(function() { ... });

然后,只需单击一下即可检查对象 .is(':visible') 是否隐藏/显示它。

关于javascript - javascript代码的简化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9665117/

相关文章:

javascript - jQuery addClass 从最后一个子级开始循环

javascript - 在 ExtJs 4.1 文本区域字段上设置错误消息

javascript - 加载 YouTube 视频并收听 onPlayerStateChange

如果 JavaScript 替换方法破坏了嵌套,它不会删除结束标记,如正则表达式中编码的那样

JavaScript 无法获取数据 ID

javascript - 获取围绕音频按钮的链接

javascript - 如何获取 Javascript 中的最后 N 个实体以进行 Azure 存储表查询

轮播脚本中的 Jquery 函数定义

jquery - 获取图像的高度并将该高度应用于不同的 div,以便它们匹配

javascript - 将jquery数据存储在html元素中