Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将clearInterval设置为实际清除的问题_Javascript_Jquery_Setinterval - Fatal编程技术网

Javascript 将clearInterval设置为实际清除的问题

Javascript 将clearInterval设置为实际清除的问题,javascript,jquery,setinterval,Javascript,Jquery,Setinterval,我正在尝试创建一个在jQuery悬停事件中激活的淡入淡出的幻灯片。 我的代码如下: var myObj = null; $('selector').hover(function() { // Code to retrieve the image URLs via ajax and construct the slideshow html myObj = setInterval(playMe, 3000); }, function() { clearInterval(myObj

我正在尝试创建一个在jQuery悬停事件中激活的淡入淡出的幻灯片。 我的代码如下:

var myObj = null;
$('selector').hover(function() {
   // Code to retrieve the image URLs via ajax and construct the slideshow html 
   myObj = setInterval(playMe, 3000);
}, function() {
   clearInterval(myObj);
   myObj = null;
})

var playMe = function() {
   // this just changes the class of each images container, which changes the 
   // opacity from 0 to 1. The fade animation is done using css3 and a transition
}
我遇到的问题是clearInterval并不总是清除,特别是当您在屏幕上快速移动光标,从而触发快速鼠标移动/鼠标移出事件时。因为我怀疑有多个playMe正在运行,所以这会打乱计时

这周围还有什么吗?一种确保只有一个playMe/setInterval运行的方法


提前谢谢

在为其分配
setInterval
之前,可以检查
myObj
是否为
null
。这样,只能运行一个
setInterval

$(函数(){
var myObj=null;
$('div#fadeinout')。悬停(函数(){
//代码通过ajax检索图像URL并构建幻灯片html
if(myObj==null){
myObj=设定间隔(playMe,3000);
}
},函数(){
if(myObj){
clearInterval(myObj);
myObj=null;
}
})
var playMe=函数(){
//这只会更改每个图像容器的类,从而更改
$('div#fadeinout')。切换类('fade');
//不透明度从0到1。使用css3和过渡完成淡入淡出动画
}
});
div#fadeinout{
保证金:自动;
宽度:50%;
高度:200px;
边框:1px纯黑;
背景色:淡蓝色;
过渡:不透明度1.5s;
}
.褪色{
不透明度:0.25;
}


如果删除淡入淡出动画,是否仍然存在此问题?在
$的第二个处理程序之后缺少结束括号。悬停
。但我不确定这是否是问题所在。你能创建一个“请”吗?如果你使用CSS,你可以完全避免这个问题,并使不透明度动画表现得更好。@James-是的,如果我删除动画对象,我仍然有这个问题。@Nisarg-你说得很对。这只是一个输入错误,在实际代码中是正确的。很好。花了这么长时间研究这个问题,我忘了使用一些基本的逻辑。非常感谢。@锶99没问题。