2016-11-09 59 views
-4
function InitMenu() { 
    var bar = menuBar.children 
    for (var i = 0; i < bar.length; i++) { 
     var menu = eval(bar[i].menu) menu.style.visibility = "hidden" 
     bar[i].onmouseover = new Function("ShowMenu(" + bar[i].id + ")") var Items = menu.children 
     for (var j = 0; j < Items.length; j++) { 
      var menuItem = eval(Items[j].id) if (menuItem.menu != null) { 
       menuItem.innerHTML += "<Span Id=" + menuItem.id + "_Arrow class='Arrow'>4</Span>" //var tmp = eval(menuItem.id+"_Arrow") 
        // tmp.style.pixelLeft = menu.getBoundingClientRect().Right //- tmp.offsetWidth - 15 
       FindSubMenu(menuItem.menu) 
      } 
      if (menuItem.cmd != null) { 
       menuItem.onclick = new Function("Do(" + menuItem.id + ")") 
      } 
      menuItem.onmouseover = new Function("highlight(" + Items[j].id + ")") 
     } 
    } 
} 
+1

格式化您的代码并标记有错误的行。 – epascarello

+1

请阅读[问]和[mcve],并相应地编辑您的文章。你甚至没有问过问题。 –

+1

这段代码是如此怪异... –

回答

-1

eval财产“风格”时的数据是JSON对象只能使用。我假设你有一个名为“菜单栏”的菜单内的菜单

var menuBar=document.getElementById("menuBar"); 
function InitMenu() { 
    var bar = menuBar.childNodes; 
    for (var i = 0; i < bar.length; i++) { 
     var menu = bar[i]; 
     menu.style.visibility = "hidden"; 
     bar[i].onmouseover = new Function("ShowMenu(" + bar[i].id + ")") var Items = menu.children 
     for (var j = 0; j < Items.length; j++) { 
      var menuItem = eval(Items[j].id) if (menuItem.menu != null) { 
       menuItem.innerHTML += "<Span Id=" + menuItem.id + "_Arrow class='Arrow'>4</Span>" //var tmp = eval(menuItem.id+"_Arrow") 
        // tmp.style.pixelLeft = menu.getBoundingClientRect().Right //- tmp.offsetWidth - 15 
       FindSubMenu(menuItem.menu) 
      } 
      if (menuItem.cmd != null) { 
       menuItem.onclick = new Function("Do(" + menuItem.id + ")") 
      } 
      menuItem.onmouseover = new Function("highlight(" + Items[j].id + ")") 
     } 
    } 
} 
+0

你最初的说法是错误的,而这并不能解决问题,为什么会出现这个错误。你也没有指出你在代码中改变了什么,以及为什么这个改变正在回答这个问题。 – trincot

+0

我认为对象为null。这就是为什么它显示'风格'未定义 – jafarbtech

+0

是的,但是原因是什么? – trincot

相关问题