为简单起见并满足需求,代码已被删除:
我知道这些方法毫无意义。我只想知道什么是非法的,以及如何以一种我能在下面描述的最好的方式一起使用方法。
问题来自 bindContentOverlay
方法:
this.setContentOverlayHeight is not a function
this.setContentHeight is not a function
这里有一些类似于我正在使用的东西:
使用这种类型的风格的任何关于 OOP 的指针也非常受欢迎。
$(document).ready(function(){
var p = new Properties();
p.bindContentOverlay();
});
var Properties = function()
{
this.initialize();
}
Properties.prototype.initialize = function()
{
this.menu = {"#power" : null,"#services" : "#services_menu","#cashback" : null,"#schedule" : "#schedule_menu"};
this.a = 22;
this.b = 33;
}
Properties.prototype.getHeights = function()
{
this.initialize();
this.q = this.a;
this.w = this.b;
}
Properties.prototype.setContentOverlayHeight = function()
{
this.getHeights();
alert(this.q);
}
Properties.prototype.setContentHeight = function()
{
this.getHeights();
alert(this.w);
}
Properties.prototype.bindContentOverlay = function()
{
for(var i in this.menu)
{
(function(x, y) {
$(x+','+y).hover(
function () {
console.log(x);
this.setContentOverlayHeight();
},
function () {
this.setContentHeight();
console.log(y);
}
);
})(i, this.menu[i]);
}
}