【发布时间】:2015-07-20 05:25:21
【问题描述】:
我正在编写一个简短的类(第一次在 Javascript 中使用类)来处理我网站的菜单图标。此菜单图标需要能够在同一页面上多次实例化。
我在使用滚动事件触发函数时遇到了一个问题,该函数似乎不会影响到正确的类实例,这是我的伪代码:
var DynMenu = function(Name) {
this.Name = Name;
this.scrollHandler = function() {
alert("Scroll: "+this.Name);
};
DynMenu.prototype.Pause = function() {
alert("Pausing menu: "+this.Name);
$(window).off("scroll", this.scrollHandler);
};
DynMenu.prototype.Start = function() {
alert("Starting menu: "+this.Name);
$(window).scroll(this.scrollHandler);
};
}
此代码被调用并与以下内容一起使用:
var RevendMenu = new DynMenu("MenuIcon1");
RevendMenu.Start();
RevendMenu.Pause();
滚动页面时(在调用 RevendMenu.Start() 之后但在调用 RevendMenu.Pause() 之前),我收到消息“滚动:未定义”
你能告诉我为什么我没有得到 this.Name 的值以及如何解决这个问题吗?
非常感谢 问候 弗洛伦特
【问题讨论】:
标签: javascript class object scope