我试图通过实验来弄清楚这个自定义jQuery函数是如何工作的。但是,我不能让它正常工作。我正在尝试在我的setInterval中调用prepareSlide
函数,但它会显示prepareSlide is not defined
$('document').ready(function(){
jQuery('.item_holder').itemSlider({
start: 1,
carousel: true
});
});
$.fn.itemSlider = function (details) {
var currentSlideNumber = (details && details.start > 0) ? details.start : 1;
this.prepareSlide = function(slideNumber) {
alert(1)
}
//Set an interval
var itemToSlide = currentSlideNumber + 1;
slideTimer = setInterval("prepareSlide(" + itemToSlide + ")", 5000);
}
答案 0 :(得分:2)
You should provide a function to the first argument of setInterval
。另外,要正确地为函数调用提供上下文,快速方法是通过让另一个变量引用来保留this
,在这种情况下,我们调用self
var self = this;
slideTimer = setInterval(function(){
self.prepareSlide(itemToSlide)
}, 5000);