所以我想将 setInterval 存储为一个对象属性,因为我经常喜欢使用短语“autoPlay”来描述一个立即启动的旋转器。当我在一系列脚本中多次使用“autoPlay”时,当我尝试清除它们时,我的 JS 会出错,因为不确定要清除哪个。我的补救措施是将它作为一个属性放在某个地方,这样我就可以通过一个对象来访问它,比如“newsRotator.autoPlay”。问题是,我不确定如何以这种方式存储它,因为它通常被放置在一个基本变量中,如下所示:
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()