Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 优化jQuery代码的重复和平_Javascript_Jquery_Optimization_Query Optimization - Fatal编程技术网

Javascript 优化jQuery代码的重复和平

Javascript 优化jQuery代码的重复和平,javascript,jquery,optimization,query-optimization,Javascript,Jquery,Optimization,Query Optimization,我是js和jQuery的新手,我已经写了一些代码,我认为可以进行一些优化。以下是我所拥有的: $(".team-member.personX").click(function(){ $(this).children(".img-mask").attr("src", "images/img-mask-active.png"); $(".member-info.personX").fadeIn(); }); $(".member-info.personX .close").click

我是js和jQuery的新手,我已经写了一些代码,我认为可以进行一些优化。以下是我所拥有的:

$(".team-member.personX").click(function(){
    $(this).children(".img-mask").attr("src", "images/img-mask-active.png");
    $(".member-info.personX").fadeIn();
});
$(".member-info.personX .close").click(function(){
    $(".team-member.personX .img-mask").attr("src", "images/img-mask.png");
    $(".member-info.personX").fadeOut();
});
我主要想问的是,有没有一种方法可以将--X--替换为1,2,3,4,而无需重复相同的代码4次。
任何帮助都将不胜感激。

它是关于Javascript的,而不是关于jQuery的

实际上,这是循环的一个经典例子。您可以使用for循环:

for(i = 1; i <= 4; i++)
{
    //actions utilizing i taking values from 1 to 4
}

好的,我知道了。我发现优化代码的最简单方法是使用函数调用

例如:

function on(x){...}
$(person1).click(function{ on(1) }) and e.t.c.

这不是最好的解决方案,但它很简单而且有效。

我以前尝试过这个方法,但不起作用,因为单击“人”,效果会应用于循环中的所有元素。还有其他想法吗?@NoSense,我看不出有什么理由这样做,你能分享你尝试过的确切代码吗?用一个包含元素的新类添加另一个元素,那么它将适用于所有没有数字的元素。请发布你的HTML。有一种更简单的方法来做你想做的事。
function on(x){...}
$(person1).click(function{ on(1) }) and e.t.c.