이것이 작동하지 않는 이유를 아는 사람이 있습니까? 여기 상태가있는 ClearTimeout이 작동하지 않습니다.
http://jsfiddle.net/jonevar/2Z2NQ/5/
전체 코드입니다 : 이것은 좋은, 테스트 코드 작동하는 것 같군function ag_alert(message) {
event.preventDefault();
//SetTimeout in case didn't close manualy
var timer = setTimeout(cls_message, 5000),
cur_url = window.location.href;
//Check if its already on
if (! $('.ag_alert_wrapper').is(':visible')) {
//Set the language
(cur_url.indexOf('/en/') >= 0) ? cls_txt = "close" : cls_txt = "閉じる" ;
$('<div class="ag_mess ag_alert_wrapper"></div><div class="ag_mess ag_alert_wrapper_close">'+ cls_txt +'</div>')
.prependTo('body');
$('.ag_alert_wrapper')
.append('<p>'+ message +'</p>')
.animate({top : 0}, 200, function() {
$('.ag_alert_wrapper_close')
.animate({top : 90}, 200)
.on({
mouseenter : function() {
$(this).animate({
top : 100
}, 200);
},
mouseleave : function() {
$(this).animate({
top : 90
}, 200);
},
click : function() {
cls_message();
}
});
});
//Setups ESC key to close message
$(document).keydown(function(e) {
if (e.keyCode === 27) {
cls_message();
}
});
} else {
//if Alert is already visible
$('.ag_alert_wrapper')
.children('p').html(message)
.end()
.effect("highlight", {
color : '#FF0'
}, 1000);
clearTimeout(timer);
}
}
function cls_message() {
$('.ag_mess').animate({
top : -200
}, 200, function() {
$('.ag_mess').remove();
});
}
무슨 일입니까? 'other_function'이 실행 중입니까? '데이터'의 데이터 유형이 '조건'의 유형과 일치합니까? –
작동하지 않는 것은 어떨까요? 나머지 코드는 어디에 있습니까? – j08691
문제가 무엇인지 모르겠지만 동일한 함수의 else 분기에서이를 지우려면 시간 초과를 설정해야합니다. 왜'setTimeout()'을 if 브랜치로 옮기지 않겠습니까? – nnnnnn