Хочу заделать менюшку, при создании пунктов меню сразу создаются обработчики нажатия на каждый пункт, но вместо "запоминания" обработчиками значения "i" на момент создания оных, они берут значение "i" на момент нажатия на пункт, т.е. когда ф-ия построения менюшки уже закончена.
function main_menu()
{
if(event.type=='click')
{
if(!document.getElementById('menu_frame'))
{
var menu_frame=document.createElement('div');
menu_frame.className='menu_frame';
menu_frame.id='menu_frame';
for(i=0;i<5;i++)
{
menu_punkt=document.createElement('span');
menu_punkt.className='menu_punkt';
menu_punkt.innerHTML='Пункт меню '+i;
menu_frame.onclick=function(){location.href='page'+i+'.html'}
menu_frame.appendChild(menu_punkt);
}
document.body.appendChild(menu_frame);
}
}
}
Пример упрощённый, в дальнейшем планируется раздавать обработчикам ссылки на страницы из массива, "i" будет ключом массива (а значит, всем пунктам меню назначится последняя в массиве ссылка), так что просьба не уводить в обходные пути, вариант выбран не случайно.