Javascript jQuery-setInterval/clearInterval延迟
我是jQuery的新手,正在尝试在一定时间内填充一个div。当时间到了,我想清除分区-非常简单,对吗 小结:我点击一个按钮,div开始填充(使用Javascript jQuery-setInterval/clearInterval延迟,javascript,jquery,html,setinterval,clearinterval,Javascript,Jquery,Html,Setinterval,Clearinterval,我是jQuery的新手,正在尝试在一定时间内填充一个div。当时间到了,我想清除分区-非常简单,对吗 小结:我点击一个按钮,div开始填充(使用animate({height:“100%”,workPeriod*1000)在20秒的工作周期内填充。填充完成后,我希望div清空。div填充没有问题,完成后大约需要5-10秒,然后使用animate({height:“0%”)清除,工作周期*5000) $(“#开始”)。单击(函数(){ var工作周期=20 var start=新日期($.now(
animate({height:“100%”,workPeriod*1000)
在20秒的工作周期内填充。填充完成后,我希望div清空。div填充没有问题,完成后大约需要5-10秒,然后使用animate({height:“0%”)清除,工作周期*5000)
$(“#开始”)。单击(函数(){
var工作周期=20
var start=新日期($.now());
var end=新日期(start.getTime()+1000*工作周期);
var workInterval=setInterval(函数(){
var currentDif=Math.floor((新日期($.now())-end)/1000)*-1;
如果(电流dif<0){
$(“#会话时间”)。设置动画({
高度:“0%”
}, 0);
clearInterval(工作区间);
//我希望上面的动画立即发生,但它发生几秒钟后
//clearInterval调用
}否则{
$(“#会话时间”)。设置动画({
身高:“100%”
},工作周期*1000);
}
}, 1000);
问题:如何在div满后立即将其清空,而不是等待5-10秒
顺便说一句,我对jQuery非常陌生,在编程方面仍然是一个初学者,因此任何建议都会受到欢迎。因此,如果您想在动画完成后调用另一个函数/动画,那么该功能已经内置到jQuery的animate函数中
我试图让它与上面发布的代码一起工作,但我无法让计时器工作。因此,如果您想在动画完成后调用另一个函数/动画,该功能已经内置到jQuery的animate函数中
我试图让它与上面发布的代码一起工作,但我无法让你的计时器工作。问题是什么?或者你只是想将代码共享给社区?我的错是没有说清楚。我如何让div立即清空而不是等待5-10秒?问题是什么?或者你只是想将代码共享给community?我没有说清楚,这是我的错。我怎样才能让div立即清空,而不是等待5-10秒?
$('#begin').click(function () {
var workPeriod = 20
var start = new Date($.now());
var end = new Date(start.getTime() + 1000 * workPeriod);
var workInterval = setInterval(function () {
var currentDif = Math.floor((new Date($.now()) - end) / 1000) * -1;
if (currentDif < 0) {
$('#session-time').animate({
height: '0%'
}, 0);
clearInterval(workInterval);
//I want the animation above to occur instantly but it's happening several seconds after
//the clearInterval call
} else {
$('#session-time').animate({
height: '100%'
}, workPeriod * 1000);
}
}, 1000);
$( "#clickme" ).click(function() {
$( "#book" ).animate({
opacity: 0.25,
left: "+=50",
height: "toggle"
}, 5000, function() {
// Animation complete.
});
});