Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.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 如何创建一个包含ID数组的循环?单击后如何执行操作? var拓扑选项=[“m1”、“m2”、“m3”、“m4”、“m5”、“m6”]; 对于(i=0;i_Javascript_Jquery_Arrays_Loops - Fatal编程技术网

Javascript 如何创建一个包含ID数组的循环?单击后如何执行操作? var拓扑选项=[“m1”、“m2”、“m3”、“m4”、“m5”、“m6”]; 对于(i=0;i

Javascript 如何创建一个包含ID数组的循环?单击后如何执行操作? var拓扑选项=[“m1”、“m2”、“m3”、“m4”、“m5”、“m6”]; 对于(i=0;i,javascript,jquery,arrays,loops,Javascript,Jquery,Arrays,Loops,我试图在单击每个元素时发生一些事情,但是只有最后一个元素被触发。我该怎么做?试试这个: var topOptions = ["#m1", "#m2", "#m3", "#m4", "#m5", "#m6"]; for(i = 0; i < topOptions.length - 1; i++) { $(topOptions[i]).click(function(){ $(topOptions[i]).animate({backgroundColor: '#2c3e

我试图在单击每个元素时发生一些事情,但是只有最后一个元素被触发。我该怎么做?

试试这个:

var topOptions = ["#m1", "#m2", "#m3", "#m4", "#m5", "#m6"];
for(i = 0; i < topOptions.length - 1; i++)
{

    $(topOptions[i]).click(function(){
        $(topOptions[i]).animate({backgroundColor: '#2c3e50'}, 150);
      });
}
而不是

$(this).animate .... 
请注意,如果是div或其他内容,我将使用a作为选择器来更改此设置

$(“a)


我想你需要这个函数来检查你的点击id是否在拓扑数组中找到。注意,你不能用jQuery动画来设置背景颜色的动画。你可以使用css动画来设置背景颜色的动画。下面是一个你可以使用的解决方案

varids=['#id1'、'#id2'、'#id3'、'#id4'、'#id5'];
forEach(函数(id){
$(id)。单击(函数(e){
$(this.css('backgroundColor','#2c3e50'))
});
});
li{
-webkit过渡:背景0.5s线性;
-moz过渡:背景0.5s线性;
-ms转换:背景0.5s线性;
-o-过渡:背景0.5s线性;
过渡:背景0.5s线性;
}

JavaScript
  • id1
  • id2
  • id3
  • id4
  • id5
$(this).animate .... 
$(topOptions[i]).animate ....
 $("a").click(function(){
 var topOptions = ["#m1", "#m2", "#m3", "#m4", "#m5", "#m6"];
 if(jQuery.inArray( $(this).attr("id"),topOptions )>-1){
 $(this).animate({backgroundColor: '#2c3e50'}, 150);
 }
 });