获取值了一个数组,并为每个值的变量
问题描述:
我有这个网站:获取值了一个数组,并为每个值的变量
<div id="h101" data-stellar-ratio="6"><img src="images/h1_01.png" width="600"></div>
<div id="cloud01" data-stellar-ratio="0.5"><img src="images/cloud_01-s.png"></div>
<div id="cloud02" data-stellar-ratio="0.4"><img src="images/cloud_01-s.png"></div>
<div id="island01" data-stellar-ratio="2"><img src="images/island_01.png" width="620"></div>
我从创建阵列中的所有ID的
$(".section > div").each(function() {
ellementArray.push($(this).attr("id"));});
现在我已经在所有的值我的ellementArray。 我想要做的是创造这样的:
var h101Left = $("#h101").position().left;
var cloud01Left = $("#cloud01").position().left;
var island02Left = $("#island02").position().left;
var island03Left = $("#island03").position().left;
我在想这样的事情...
for (var i = 0; i < ellementArray.length; i++){
jQuery.globalEval("var ellementArray[i] = ellementArray[i];")
console.log(ellementArray[i]);
}
有人可以请帮助?
答
你太过于复杂了。刚创建的字符串的地图(元素ID)与数(位置左值):
var leftPositions = {};
$(".section > div").each(function()
{
leftPositions[this.id] = $(this).position().left;
});
顺便说一句,如果你还需要所有的ID数组,使用.map()
代替.each()
,和this.id
instead of $(this).attr('id')
:
var elementArray = $(".section > div").map(function()
{
return this.id
}).get();
好的解决方案,但然后我的输出将是:h101 = 200;我需要的是h101left = 200 ... – user1603310 2012-08-16 13:38:44
好吧,把leftPositions [this.id]改成leftPositions [this.id +'left']'。不是火箭科学。 – 2012-08-16 13:39:55