使用OOJS的递归方法

时间:2013-09-28 10:09:50

标签: javascript recursion

给出以下JS代码:

+ --------------------------------------------- +

this.Element = function() {

this.twitch = function(e) {
        $(e).animate({
            height: "+=5"
        }, 1000, function() {
            $(e).animate({
                height: "-=5"
            }, 1000, function() {
            });
        });
    };

$(document).ready(function() {
    var footer = new this.Element();
    footer.twitch("#footer");
});

+ --------------------------------------------- +

如何递归调用方法“twitch()”?

谢谢。

1 个答案:

答案 0 :(得分:0)

第一个错误,this在此上下文new this.Element();

中引用了jQuery

修正:

this.Element = function( return this; ) {

this.Element.prototype.twitch = function(e) {
 var self = this;
        $(e).animate({
            height: "+=5"
        }, 1000, function() {
            $(e).animate({
                height: "-=5"
            }, 1000, function() {
               self.twitch(e);
            });
        });
    };

var self = this;
$(document).ready(function() {
    var footer = new this.Element();
    footer.twitch("#footer");
});