为什么以下工作?
<something>.stop().animate(
{ 'top' : 10 }, 10
);
Run Code Online (Sandbox Code Playgroud)
虽然这不起作用:
var thetop = 'top';
<something>.stop().animate(
{ thetop : 10 }, 10
);
Run Code Online (Sandbox Code Playgroud)
为了使它更清晰:目前我无法将CSS属性作为变量传递给animate函数.
我正在编写一些JavaScript代码来解析用户输入的函数(用于类似电子表格的功能).解析了公式后,我可以将其转换为JavaScript并eval()在其上运行以产生结果.
但是,eval()如果我可以避免它,我总是回避使用,因为它是邪恶的(而且,无论是对还是错,我一直认为它在JavaScript中更加邪恶,因为要评估的代码可能会被用户改变).
那么,什么时候可以使用它?
如何使用变量的值a作为查找属性的键?我希望能够说:b["whatever"]并且这个回报20:
var a = "whatever";
var b = {a : 20}; // Want this to assign b.whatever
alert(b["whatever"]); // so that this shows 20, not `undefined`
Run Code Online (Sandbox Code Playgroud)
我在询问是否有可能在创建过程中b,让它包含"whatever":20而不是a:20变量中的"无论什么".也许eval可以使用?
我有一个名为direction的变量,它存储:left,right.
我需要根据该变量更改受影响的保证金.
现在我正在使用条件,是否可以用变量的输出替换"左" direction?
$("#map").animate({"margin-left": "+=50px"}, 500);
Run Code Online (Sandbox Code Playgroud)