Показать сообщение отдельно
  #15 (permalink)  
Старый 03.09.2011, 12:00
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

вы проверяете завершенность по интервалу - ай ай ай.
function saveChanges(callback) {
    var imgs = new Array(), i = 0, max = queries.length - 1;
    
    var timer = setInterval(function(){
        imgs.push(new Image);
        
         // обработчик загрузки для последней картинки
        if (i === max) imgs[i].onload = callback( imgs );
        
        imgs[i].src = queries[i];

        if( ++i > max ) clearInterval(timer);
        
    }, 100);
}


elem.onclick = function() {
    // для экономии места повторяющиеся операции занёс в функцию
    function normForm() {
        var a = document.form1;
        a.action = 'edit.php';
        a.from.value = pages * 25
        a.submit();
    };
    
    if (queries.length && confirm('Вы хотите сохранить введённые данные ? ')) {
        
        saveChanges(/*выполнится по завершении запроса*/function(a) {
            
            // a - массив картинок.
            alert('Данные сохранены! Запросов выполнено : '+a.length);
            queries = [];
            normForm();
        });

    } else {
        normForm();
    }
}

Последний раз редактировалось melky, 03.09.2011 в 12:03.
Ответить с цитированием