Javascript 为自动执行的回调设置动画
第一个动画制作图像500x334,回调应该在再次单击图像后执行,这将使图像变小,但是回调是自动执行的(我认为这应该发生)但我想知道是否有一种方法可以阻止它执行,然后当你点击图像时,它会再次动画?当我添加.stop时,它工作了一次,然后继续执行两次?问题是您正在另一个单击处理程序中注册一个单击处理程序,因此当第二次单击发生时,您的第一次和第二次单击将被触发Javascript 为自动执行的回调设置动画,javascript,jquery,animation,Javascript,Jquery,Animation,第一个动画制作图像500x334,回调应该在再次单击图像后执行,这将使图像变小,但是回调是自动执行的(我认为这应该发生)但我想知道是否有一种方法可以阻止它执行,然后当你点击图像时,它会再次动画?当我添加.stop时,它工作了一次,然后继续执行两次?问题是您正在另一个单击处理程序中注册一个单击处理程序,因此当第二次单击发生时,您的第一次和第二次单击将被触发 $(function(){ $("#obj").click(function(){ $("#theimage").animate({h
$(function(){
$("#obj").click(function(){
$("#theimage").animate({height: '334px', width: '500px'},function(){
$("#obj").click(function(){
$("#theimage").animate({height: '150px', width: '250px' })
});
});
});
});
实际上,
回调
用于在动画或特定作业
完成后执行一组代码。因此,每当第一个动画
完全执行时,显然应该执行回调部分。试着这样,
$(function () {
var flag = false;
$("#obj").click(function () {
if (flag) {
$("#theimage").stop(true, true).animate({
height: '150px',
width: '250px'
})
} else {
$("#theimage").stop(true, true).animate({
height: '334px',
width: '500px'
});
}
flag = !flag;
});
});
@我想解释一下你的投票。?这将对我有用。
$(function(){
$("#obj").click(function(){
if (parseInt($("#theimage").width()) === 500)
{
$("#theimage").stop().animate({height: '150px', width: '250px' })
}
else
{
$("#theimage").stop().animate({height: '334px', width: '500px'});
}
});
});