【发布时间】:2012-03-13 15:31:19
【问题描述】:
这是我的功能的基本版本(我第一次这样做,所以如果我解释得不好,我很抱歉)
var pages = {
init:function(){
},
home:function(){
articleid = this.closest("article").attr('id');
skillsbtn = $(this).hasClass("skillsbt");
home = $('#home');
homeheight = '-' + home.height();
if (skillsbtn && articleid == "home"){
home.animate({"marginTop" : homeheight},800);
}
},
work:function(){
//same variables are requred here: skillsbtn = $(this).hasClass("skillsbt");...
},
skills:function(){
//same variables are requred here: skillsbtn = $(this).hasClass("skillsbt");...
},
contact:function(){
},
}
所以这个想法是技能btn = $(this) 参考$(this) 在home:function 的任何内容。我试图将变量从home:function 复制到work:function 并且它唤醒得很好。但是我可以将我需要的变量放在init:function 中,但能够在home:function 中调用它们,并通过这样做,能够改变$(this) 的含义,即this->home,或this- >工作
我曾尝试像pages.init.skillsbtn.call(this) 一样访问它,但它死了也不起作用。
希望你能帮忙 - 谢谢
【问题讨论】:
标签: javascript jquery oop function