我有一个隐藏的div,它在jquery click方法上淡入。这个div有一个由简单的setInterval驱动的幻灯片,不幸的是,它在隐藏的div上运行。当我点击淡入div时,我正在努力使setInterval开始,当我点击再次隐藏它时结束。我需要在div显示时才运行间隔。
这就是我所拥有的:
//3d Visualisation overlay containing slideshow
$('.overlay').hide();
$('.vis1').click(function(){
$('.visual-1').fadeIn(function(){;
$('.close').click(function(){
$('.visual-1').fadeOut();
})
});
});
//slideshow interval
$('.slideshow').hide();
$('.vis1').click(function(){
var inter = setInterval(function() {
$('.slideshow > div:first')
.fadeOut(10)
.next()
.fadeIn(10)
.end()
.appendTo('.slideshow');
}, 4000);
});
$('.close').click(function(){
clearInterval(inter);
});
此处的clearInterval也阻止.close div再次隐藏幻灯片。
答案 0 :(得分:0)
inter
点击功能无法访问变量.close
。
代码对我来说很混乱,因为你有{2}个元素上的click事件附加了2个函数。
所以我可以告诉你在使用setInterval的函数之外声明.vis1
,这样你就可以在inter
元素点击处理程序上清除它。