class Menu {
constructor(id, listButtons, title = null, visible = false) {
this.id = id;
this.listBtn = listButtons;
this.title = title;
this.visible = visible;
this.SetVisible(this.visible);
}
SetVisible(visibility) {
alert("SetVisible:" + visibility + " " + this.id)
if (visibility) {
for (var i = 0; i < this.listBtn.length; i++) {
this.listBtn[i].style.display = "block";
}
this.title.style.display = "block";
visible = visibility;
} else {
for (var i = 0; i < this.listBtn.length; i++) {
this.listBtn[i].style.display = "none";
}
this.title = "none";
visible = visibility;
}
}
}
function ToggleMainAbout() {
alert("Toggle_Main_About");
mainMenu.SetVisible(!mainMenu.visible);
aboutMenu.SetVisible(!aboutMenu.visible);
}
这是我的课程和功能。
功能 ToggleMain
运行并且可以从警报中看到,但是由于某种原因,我在课堂上的功能 SetVisible
Menu
不显示警报,我也不知道是什么原因。
如果我将SetVisible
的输入更改为'true'而不是变量,则它仍然不起作用,因此这不是变量的问题
答案 0 :(得分:2)
您需要先创建该类的实例:
let mainMenu = new Menu("Main", ["List button 1", "List button 2"]);
let aboutMenu = new Menu("About", ["Home", "Back"]);
答案 1 :(得分:0)
您是否创建了用于使用new关键字访问Menu方法的Menu类对象。像这样的const mainMenu = new Menu()。