Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.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
Jquery Javascript-更改变量名_Jquery - Fatal编程技术网

Jquery Javascript-更改变量名

Jquery Javascript-更改变量名,jquery,Jquery,我有以下代码: if(response.next == "2") { $('.imgdiff-1').attr('src', img2.src); $('.imgdiff-2').attr('src', img22.src); } if(response.next == "3") { $('.imgdiff-1').attr('src', img3.src); $('.imgdiff-2').attr('src', img32.src); } if(response.next =

我有以下代码:

if(response.next == "2") {
  $('.imgdiff-1').attr('src', img2.src);
  $('.imgdiff-2').attr('src', img22.src);
}
if(response.next == "3") {
  $('.imgdiff-1').attr('src', img3.src);
  $('.imgdiff-2').attr('src', img32.src);
}
if(response.next == "4") {
  $('.imgdiff-1').attr('src', img4.src);
  $('.imgdiff-2').attr('src', img42.src);
}
if(response.next == "5") {
  $('.imgdiff-1').attr('src', img5.src);
  $('.imgdiff-2').attr('src', img52.src);
}

var level_img_src = "images/levels/";
var img2 = new Image();
img2.src = level_img_src + '2.jpg';
var img22 = new Image();
img22.src = level_img_src + '22.jpg';
var img3 = new Image();
img3.src = level_img_src + '3.jpg';
var img32 = new Image();
img32.src = level_img_src + '32.jpg';
var img4 = new Image();
img4.src = level_img_src + '4.jpg';
var img42 = new Image();
img42.src = level_img_src + '42.jpg';
var img5 = new Image();
img5.src = level_img_src + '5.jpg';
var img52 = new Image();
img52.src = level_img_src + '52.jpg';
我不想让所有的if语句都像这样:

$('.imgdiff-1').attr('src', img' + response.next + '.src);
$('.imgdiff-2').attr('src', img' + response.next + '2.src);
这段代码不起作用,但我想用来自ajax的变量动态更改对象名


如何以更简洁的方式编写所有这些代码?

将图像放入数组:

img = img2 = []; // empty array
img[2] = new Image();  img[2].src  = level_img_src+'2.jpg';
img2[2] = new Image(); img2[2].src = level_img_src+'22.jpg';
// etc.
然后按索引号拉出图像:

$('.imgdiff-1').attr('src', img[response.next].src);
$('.imgdiff-2').attr('src', img2[response.next].src);

试试这样的吗

var img2 = new Image(); im2.src=lvl_img_src+'2.jpg';

... get response...

var imgSrc = response.next + '.src';
$(.imgdiff-1').attr('src', img + imgSrc) 

一定会有人建议使用
eval
。不要。这是一个坏习惯,有更好的方法。