我必须在mouseenter事件上启动间隔,我必须在mouseleave上停止它。
当'mousedown'事件启动'setInterval'时,'mouseInterval'没有停止'mouseInterval'由'mouseenter'事件启动的时间间隔正在正常工作demo.ts
plugins: [function() {
this.plugin("done", function(stats) {
//Since webpack dependent Stats.js
//Just see the API of Stats.js
//You can do anything with the stats output
if (stats && stats.hasErrors()) {
stats.toJson().errors.forEach((err) => {
console.error(err);
});
process.exit(1);
}
}
}]
demo.html
interval_bs:any;
startInterval(){
this.interval_bs=setInterval(()=>{
if(this.activeIndex<3){
this.activeIndex+=1;
}
else{
this.activeIndex=0;
}
},2000)
}
stopInterval(){
clearInterval(this.interval_bs);
}
答案 0 :(得分:3)
现在问题已经解决了。声明变量'start_count'并将其初始化为零。 在'(mouseleave)'事件中,将'start_count'重置为零。 现在在'(mouseenter)'事件中增加'start_count'并将条件应用于'setInterval()'方法
interval_bs:any;
start_count:number=0;
startInterval(){
this.start_count+=1;
if(this.start_count==1){
this.interval_bs=setInterval(()=>{
if(this.activeIndex<3){
this.activeIndex+=1;
}
else{
this.activeIndex=0;
}
},2000)
}
}
stopInterval(){
this.start_count=0;
clearInterval(this.interval_bs);
}