У меня есть код в файле js.setTimeout() не вызывает функцию после указанного времени
function makeScrollable(wrapper, scrollable){
...
// Hide images until they are not loaded
scrollable.hide();
var loading = $('<div class="loading">Loading...</div>').appendTo(wrapper);
// Set function that will check if all images are loaded
var interval = setInterval(function(){
var images = scrollable.find('img');
var completed = 0;
if (completed == images.length) {
clearInterval(interval);
// Timeout added to fix problem with Chrome
setTimeout(function(){
loading.hide();
....
}, 1000); //end of setTimeout(func, delay)
} //end of if (completed == images.length)
}, 100); //end of var interval = setInterval(fn, 100)
...
}
(function(){
makeScrollable("div.sc_menu_wrapper", "div.sc_menu");
})(jQuery);
Но моя функция таймаута не звонит. Я все еще получаю загрузку Div. Функция должна быть вызвана через 1 секунду, после чего скрыть контейнер загрузки и выполнить код. Но этого не происходит. Что я делаю неправильно? Thanks
ли если условие 'если (завершено == images.length)' возвращает истину? .. –
Да, это касается функции clearInterval(), а также функции setTimeOut(). Я видел это во время отладки с firebug, но функция не звонит :( – Basit
Я не уверен в этом, но остаюсь в покое. Отладка попробует поместить предупреждение в функцию 'setTimeout', чтобы увидеть, что-то это всплывает или нет !!! –