0
所以我想将setInterval作为对象属性存储,因为我经常使用短语“autoPlay”来描述立即启动的旋转器。当我在一系列脚本中多次使用“autoPlay”时,当我试图清除它们时,我的JS会被绊倒,因为它不知道要清除哪一个。我的补救措施是把它放在某个地方作为一个属性,所以我可以通过一个对象来访问它,比如“newsRotator.autoPlay”。问题是,我不知道如何存储这样的说法,因为它通常被放置在一个基本的变量,像这样:将setInterval存储为对象属性
autoPlay = setInterval(this.forwardSlide, 5000);
这是一个例子我尝试之一,在把它作为一个对象的属性,从而未能清除的时间间隔:
var newsRotator = {
run: function() {
$('.arrow').on('click', function (e) {
e.preventDefault();
clearInterval(newsRotator.autoPlay);
if ($(this).hasClass('back')) {
newsRotator.backSlide();
} else {
newsRotator.forwardSlide();
}
});
},
backSlide: function() {
(goes back one slide)
},
forwardSlide: function() {
(goes forwardone slide)
},
autoPlay: setInterval(this.forwardSlide, 5000),
init: function() {
this.run();
}
}
newsRotator.init()