Javascript 原型访问另一个原型函数

2024-05-15

function Scroller(id){
    this.ID = id;
    this.obj = $("#"+id);
    this.currentSlide = 1;

    var self = this;
    setInterval(self.nextSlide, 1000);
}

Scroller.prototype.nextSlide = function(){
    this.slideTo(this.currentSlide+1);
}

Scroller.prototype.slideTo = function(slide){
    // slide = (slide+this.obj.children().size()-1) % this.obj.children().size()+1; 
    // $("#"+this.ID+" > *:first-child").stop().animate({"margin-left": "-"+this.obj.get(0).offsetWidth*(slide-1)}, 1000);
    // currentSlide = slide;
}

$(document).ready(function(){
    new Scroller("actielist");
});

这是我的 Scroller 代码,但是当我尝试运行它时,它给出以下错误:“Uncaught TypeError:this.slideTo 不是函数”


When setInterval调用一个函数,它用context (or this的价值window(即它在全局范围/上下文中调用该函数)。您需要确保里面的上下文nextSlide是正确的。

Try:

setInterval(self.nextSlide.bind(self), 1000);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Javascript 原型访问另一个原型函数 的相关文章

随机推荐