2015-03-08 2 views
5

Использование dropzone.js У меня не было проблем с его работой, включая получение изображений, ранее загруженных на сервер.dropzone.js Подавить индикатор выполнения при извлечении с сервера

Единственная проблема, с которой я сталкиваюсь, - это когда я извлекаю эти файлы с сервера при обновлении страницы (что означает, что они не были загружены во время текущего использования этой страницы), индикатор выполнения загрузки постоянно отображается. Есть ли способ подавить индикатор выполнения ранее загруженных изображений? Я хотел бы продолжать использовать индикаторы выполнения при загрузке и не хочу удалять CSS из шаблона.

Не то, чтобы это было полезно в этом случае, но вот код, который я использую, чтобы извлечь файлы и отобразить их в удаленном div.

Dropzone.options.myDropzone = { 
    previewsContainer: document.getElementById("previews"), 
    init: function() 
    { 
    thisDropzone = this; 

    $.get('../cgi/fileUpload.php', function(data) 
    { 
     $.each(data, function(key,value) 
     { 
      var mockFile = { name: value.name, size: value.size}; 
      thisDropzone.options.addedfile.call(thisDropzone, mockFile); 
      thisDropzone.options.thumbnail.call(thisDropzone, mockFile, value.uploaddir+value.name); 

      var strippedName = (value.name).slice(11); 
      fileList[i] = {"serverFileName" : value.name, "fileName" : value.name, "fileSize" : value.size, "fileId" : i }; 
      i++; 


      var removeButton = Dropzone.createElement("<button class=\"btn btnremove\" style=\"width: 100%;\">Remove file</button>"); 

      var _this = this; 

      removeButton.addEventListener("click", function(e) 
      { 

       e.preventDefault(); 
       e.stopPropagation(); 

       thisDropzone.removeFile(mockFile); 

      }); 

      mockFile.previewElement.appendChild(removeButton); 

     }); 
    }); 
}, 
url: "../cgi/fileUpload.php" 
}; 
+0

Если они уже загружены, обновление не должно обновляться с сервера? – Miro

+0

Да, я бы хотел, чтобы они были загружены без индикатора выполнения. – tllewellyn

ответ

2

Ответил! Выбрал просто удалить дивы с помощью JQuery после того как они были доставлены:

$(".dz-progress").remove(); 

не слишком элегантно, но он работает.

+2

yes, или вы могли бы использовать '$ ('. Dz-preview'). AddClass ('dz-complete');' – Miro

11

Убедитесь, что нет прогресс бар, и т.д ...

thisDropzone.emit("complete", mockFile); 

FAQ Dropzone.JS

+1

Спасибо. Это работает для меня. –

4

Это старый вопрос, но у меня была такая же проблема. Моим решением было изменить файл .css:

.dz-progress { 
    /* progress bar covers file name */ 
    display: none !important; 
} 
5

У меня была такая же проблема.

$ ('. Dz-progress'). Hide();

Было бы здорово, если вы используете .hide() вместо метода .remove(). Потому что .remove() удалить этот div постоянный.

+0

Решена ли ваша проблема? – Panther

+0

Да. Он разрешен с использованием $ ('. Dz-progress'). Hide(); @Panther –

0

Попробуйте это сработало для меня $ (". Spinner"). Hide();

Смежные вопросы