Я пользуюсь функцией App.loadTo, чтобы загрузить некоторые данные в любом месте. Мне нужно задержка перед отображением какого-либо контента (используется плагин Form-styler, форма перерисовки). Я попытался SetTimeout и setInterval функции, но они работают только один раз, т.е.setTimeOut/setInterval работает только один раз
1) Вызывается App.loadTo (PARAMS) - задержка работы
2) Вызывается App.loadTo (PARAMS) с теми же Params - задержка Doesnt работа
Я попытался следующие без успеха
tmp = setInterval(function() {
console.log('I show all invisible!', params.where);
$(params.where).css({
'visibility': 'visible'
});
$('#preloader').remove();
clearInterval(tmp);
}, 110);
Где я допустил ошибку?
App.loadTo = function loadTo(params) {
$.ajax({
url: '/' + params.controller + '/' + params.action + '',
type: 'POST',
dataType: 'json',
data: params.sentData,
success: function(server_answer, textStatus) {
if (server_answer.result == 'success') {
if (params.hasOwnProperty('parseHtml')) {
// Data parsing
var html = $(server_answer.html);
html = $(html).find(params.parseBlock);
} else {
var html = $(server_answer.html);
}
// Inserting data
$(params.where).empty().html(html).css({
'visibility': 'hidden'
}).before('<div id="preloader" style="width: 100%; background: url("i/preloader.gif") no-repeat scroll 50% center transparent; min-height: 140px; height: 100%;"></div>');
// Delay before display
setTimeout(function() {
console.log('I show all invisible!', params.where);
$(params.where).css({
'visibility': 'visible'
});
$('#preloader').remove();
}, 110);
} else {
alert_jq_ui(server_answer.error_txt);
}
},
error: function(xhr, errmsg, err) {
alert_jq_ui(xhr, errmsg, err);
}
});
};
' SetTimeout() 'выполняется только один раз. – PHPglue
setInterval тоже – user2455668
OP означает: когда функция называется второй раз, интервал не срабатывает. Логическая проблема. –