简单迭代问题
好的,所以基本上我有一个数组的函数,这些函数用于设置不同的菜单.第一个函数设置主菜单和其他菜单/页面的链接.注意我写了addEvent,自我解释性和被测试和作品.
选择 | 换行 | 行号
- var buttons = ["MenuX", "MenuY", "MenuZ", "MenuZZ"];
- var menu_page_generators = [
- function(m, mel){// Main Menu
- for(var id=0;id<buttons.length;id++){
- var t = document.createElement("div");
- t.className = "menu-button";
- t.appendChild(document.createTextNode("["+buttons[id]+"]"));
- var func = function(){alert(id);};
- addEvent(t, "click", func);
- mel.appendChild(t);
- }
- },
- function(m, mel){// ...
- alert('hi2');
- }
- ];
所以这段代码应该做的是什么.它应该创建4个按钮,每个按钮名为MenuX MenuY,等,当你点击按钮X应该警惕"1",Y按钮应该警惕"2"等现在这个问题.正确名字的每个按钮,所以正确的id变量显然是被应用在按钮创建.然而当你点击各个按钮都警惕"4".所以很明显,所有的按钮都不把"id"变量函数时被创建,但"id"按钮点击(后循环已经完成和id = 4).我不明白为什么要这样做?我真的很想把这个固定的,任何帮助会apreciated得多.干杯,乔希