我只是看不到一些必须显而易见的东西......只是试图给div设置动画...我让jquery动画只使用数字但是我无法使用arrayIndex ... console.log在数组中调用了数字40 ......
<div id="blueCar" > </div>
$( document ).ready(function() {
var carArrayX = [765,650,460,330,140,40];
var carArrayY = [ 390,390,390,405,445,405];
var carArrayXindex = carArrayX.length -1;
//$('#blueCar').animate({left:"40px"}); //works!
//$('#blueCar').animate({left:"carArrayX[carArrayXindex]" + "px"});
$('#blueCar').animate({left:"carArrayX[carArrayXindex] + px"});
console.log(carArrayX[carArrayXindex]);
});
答案 0 :(得分:1)
变化:
$('#blueCar').animate({left:"carArrayX[carArrayXindex] + px"});
为:
$('#blueCar').animate({left:carArrayX[carArrayXindex] + "px"});
<强> jsFiddle example 强>
你在错误的地方有第一个引用。您传递的是字符串,而不是与“px”连接的变量值。
答案 1 :(得分:0)
您将变量名称放在引号中。因此,animate函数实际上将left
设置为字符串
"carArrayX[carArrayXIndex] + px"
您需要删除变量标识符上的引号。 Javascript不是PHP,你知道,你不能只将变量名放在字符串中,并期望它们被变量内容替换。当然,作为字符串文字的px
仍然需要放在引号中。试试这段代码:
$( document ).ready(function() {
var carArrayX = [765,650,460,330,140,40];
var carArrayY = [ 390,390,390,405,445,405];
var carArrayXindex = carArrayX.length -1;
$('#blueCar').animate({left:carArrayX[carArrayXindex] + "px"});
console.log(carArrayX[carArrayXindex]);
});