0

我正在尝试设置图像交换功能。到目前为止,这是我的代码:

var imageChanger = function(start, end) {

var start = 1;
var end = 22;

return {
    count: function(url) {

        var self = this;

        if(start > end) {
            start = 1;
        }

        console.log(url);
        console.log(start++);

        imageSwapper = setTimeout( function() {
            self.count();
        }, 2000)

    },
    stopCount: function() {
        clearTimeout(imageSwapper);
    }
}

}

如您所见,这是一个带有两个参数的函数。然后它使用两种方法返回它自己的对象。当我count在初始imageChanger函数调用后调用该方法并将参数传递给url它时,只记录我传递的一次,然后当setTimeout函数运行时,未定义的后续时间。

我不确定我在这里做错了什么。为什么这个count函数在第一个日志后返回未定义?

4

1 回答 1

1

在 setTimeout 中,您应该self.count使用url参数而不是无参数调用,即

self.count(url);
于 2013-01-16T04:15:22.163 回答