clearInterval과 관련된 모든 게시물을 읽었지만 어떻게 든 작동하지 않게됩니다 ... 스크립트가 수행하는 작업은 ". xmas-title "이미지를 변경합니다. 그리고 마우스를 클릭하면 간격이 지워집니다.그냥 clearInterval() 함수를 만들 수 없습니다.
var animation;
$(".xmas-title").delay(4000).fadeIn(400, function(){
bear_shake(true);
});
$(".xmas-more").delay(4200).fadeIn(400, function(){
$('.bg-xmas').css('cursor', 'pointer');
$(".bg-xmas").click(function(){
show_msg();
bear_shake(false);
});
});
function bear_shake(bool){
if(bool){
animation = setInterval(function(){
$(".xmas-bear").delay(200).fadeOut(0, function(){
$(".xmas-bear").children("img").attr('src', 'images/xmas/xmas-bear_o1.png');
}).fadeIn(0);
$(".xmas-bear").delay(200).fadeOut(0, function(){
$(".xmas-bear").children("img").attr('src', 'images/xmas/xmas-bear_o2.png');
}).fadeIn(0);
},0);
console.log('true');
}else{
clearInterval(animation);
console.log('false');
$(".xmas-bear").children("img").attr('src', 'images/xmas/xmas-bear.png');
}
}
무엇이 문제인가 보입니까? 간격을 0으로 설정하는 이유는 무엇입니까? – akonsu
@akonsu bear_shake (true)는 이미지 곰이 계속 변경되도록합니다 (손떨림처럼 보일 것입니다). bear_shake (false)가 "xmas-bear.png"로 바뀌면 애니메이션을 멈추고 싶습니다. 하지만 다시 "xmas-bear.png"로 바뀌며 애니메이션을 계속 진행합니다 –
클릭하면 애니메이션이 멈추지 않는다는 것을 의미합니까? 시간 초과 처리기에서 애니메이션이 생겼음을 알 수 있습니다. 애니메이션을 시작한 후에는 간격을 지우는 지 여부에 관계없이 끝까지 재생됩니다. 모든 애니메이션을 중지하려면 애니메이션을 중지해야합니다. – akonsu