访问数组
Accessing arrays
我正在使用 Raphaël 框架绘制动态形状(这使它们可以点击,您可以使它们发光...)。
我无法正确访问数组。
我创建了一个数组:
var siegeurs = {
1 : [{
"Nom" : "User1",
"Photo" : "url"
}],
2 : [{
"Nom" : "User2",
"Photo" : "url"
}],
3 : [{
"Nom" : "User3",
"Photo" : "url"
}],
4 : [{
"Nom" : "User4",
"Photo" : "url"
}],
5 : [{
"Nom" : "User5",
"Photo" : "url"
}]
};
这些是框架绘制的形状:
sieges["1"] = assembly.path("M236.51 ... 108");
sieges["2"] = assembly.path("M483.51 ... 71");
sieges["3"] = assembly.path("M427.51 ... 272");
sieges["4"] = assembly.path("M135.51 ... 348");
sieges["5"] = assembly.path("M617.51 ... 413");
它们就像物体一样,因此您可以与它们互动。
这是循环:
for(var siegeNum in sieges) {
(function (siege) {
siege.attr(style); //apply style to shapes
siege[0].addEventListener("mouseover", function() {
siege.animate(hoverStyle, animationSpeed); //add hoverstyle when hovered
//The line I can't figure out
document.getElementById("textelement").innerHTML = siegeurs[siegeNum]["Nom"];
//The line I can't figure out
}, true);
siege[0].addEventListener("mouseout", function() {
siege.animate(style, animationSpeed);
document.getElementById("textelement").innerHTML = baseTxt;
}, true);
})
(sieges[siegeNum]);
}
textelement
是我尝试在悬停形状时修改的基本文本。
实际上,当我将鼠标悬停在一个形状上时,文本会转到 "undefined"。
我尝试这样做只是为了检查:
document.getElementById("textelement").innerHTML = siegeurs[siegeNum];
但是当我悬停时,文本会转到 [object Object]。
感谢任何帮助。
您的 siegeurs
对象中的每个值都是一个数组,因此所需的内部 属性 "Nom"
应按以下方式访问:
...
document.getElementById("textelement").innerHTML = siegeurs[siegeNum][0]["Nom"];
我正在使用 Raphaël 框架绘制动态形状(这使它们可以点击,您可以使它们发光...)。
我无法正确访问数组。
我创建了一个数组:
var siegeurs = {
1 : [{
"Nom" : "User1",
"Photo" : "url"
}],
2 : [{
"Nom" : "User2",
"Photo" : "url"
}],
3 : [{
"Nom" : "User3",
"Photo" : "url"
}],
4 : [{
"Nom" : "User4",
"Photo" : "url"
}],
5 : [{
"Nom" : "User5",
"Photo" : "url"
}]
};
这些是框架绘制的形状:
sieges["1"] = assembly.path("M236.51 ... 108");
sieges["2"] = assembly.path("M483.51 ... 71");
sieges["3"] = assembly.path("M427.51 ... 272");
sieges["4"] = assembly.path("M135.51 ... 348");
sieges["5"] = assembly.path("M617.51 ... 413");
它们就像物体一样,因此您可以与它们互动。
这是循环:
for(var siegeNum in sieges) {
(function (siege) {
siege.attr(style); //apply style to shapes
siege[0].addEventListener("mouseover", function() {
siege.animate(hoverStyle, animationSpeed); //add hoverstyle when hovered
//The line I can't figure out
document.getElementById("textelement").innerHTML = siegeurs[siegeNum]["Nom"];
//The line I can't figure out
}, true);
siege[0].addEventListener("mouseout", function() {
siege.animate(style, animationSpeed);
document.getElementById("textelement").innerHTML = baseTxt;
}, true);
})
(sieges[siegeNum]);
}
textelement
是我尝试在悬停形状时修改的基本文本。
实际上,当我将鼠标悬停在一个形状上时,文本会转到 "undefined"。
我尝试这样做只是为了检查:
document.getElementById("textelement").innerHTML = siegeurs[siegeNum];
但是当我悬停时,文本会转到 [object Object]。
感谢任何帮助。
您的 siegeurs
对象中的每个值都是一个数组,因此所需的内部 属性 "Nom"
应按以下方式访问:
...
document.getElementById("textelement").innerHTML = siegeurs[siegeNum][0]["Nom"];