Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
15 / 15 / 9
Регистрация: 22.11.2013
Сообщений: 762

Progressbar

28.04.2014, 15:51. Показов 2414. Ответов 50
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите. Как сделать. Имеется например див 400x400. При перетакскивании на него картинки (droggable вроде называется эта фишка) должен появиться progreesbar, в котором будет отображено сколько из скольких загружено МБ\ГБ. + Отображаались проценты всего этого процесса.
И еще интересует. Как можно сделать небольшую диаграммку progressbar`a? Я не прошу Вас писать код, хотябы покажите куда копать?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.04.2014, 15:51
Ответы с готовыми решениями:

ProgressBar
Добрый день, Интересует такой, вроде, не сложный вопрос. Есть в коде ProgressBar. С небольшими файлами он работает, все...

Создание progressbar
Нужно сделать полоску (макс 100%) которая будет заполняться , значение, на которое она должна заполниться, должно храниться в переменной.

Связать progressbar c отправкой файла
Файл отправляется с использованием стандартного инпута $_FILES. Как процесс загрузки связать например с <progress> или другим...

50
15 / 15 / 9
Регистрация: 22.11.2013
Сообщений: 762
29.04.2014, 00:39  [ТС]
Студворк — интернет-сервис помощи студентам
я уже разобрался) спасибо за наводку)

Добавлено через 3 минуты
Только вот я добавил 2-ю запись и уменя идет +1. Знаю дело в WHERE id = '$id'. Но как получить этот $id = ????
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
29.04.2014, 01:21
Цитата Сообщение от bb_oo Посмотреть сообщение
Но как получить этот $id = ????
Запись добавляли перед самим апдейтом? Тогда смотрите в сторону mysqli_insert_id
1
15 / 15 / 9
Регистрация: 22.11.2013
Сообщений: 762
29.04.2014, 12:54  [ТС]
Ладно. Спасибо. Разберусь. Теперь опять вернемся к progressbar) Я например перетащил изображение в эту область и оно загрузилось. Мне нужно узнать имя этого файла, при том что это происходит все на JS и + мне нужно чтобы это имя фала было в переменной на JAVASCRIPT. Потому как потом AJAXом буду данные в БД заносить. Помогите хотябы частично)

Добавлено через 1 час 25 минут
Я вот пробую скрипт, который представлен там, самый последний который. http://www.html5rocks.com/ru/t... /dndfiles/

Так вот. Пробую загрузить файл в 400мб например и он бьет ошибку
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
29.04.2014, 15:37
Цитата Сообщение от bb_oo Посмотреть сообщение
Пробую загрузить файл в 400мб например и он бьет ошибку
Читаем следующее:
1. post-max-size
2. upload_max_filesize
3. И на всякий случай max_file_uploads
Цитата Сообщение от bb_oo Посмотреть сообщение
мне нужно чтобы это имя фала было в переменной на JAVASCRIPT
JavaScript
1
2
3
$('input[type=file]').val();
// или 
document.querySelector("input[type='file']").value;
1
15 / 15 / 9
Регистрация: 22.11.2013
Сообщений: 762
29.04.2014, 15:39  [ТС]
да да) с именем фала разобрался почти сразу) тупанул как обычно) а про max size ща прочитаю)

Добавлено через 44 секунды
блин) мне нужен чек на валидность на JS\JQ, но не на PHP)

Добавлено через 10 секунд
есть идеи?
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
29.04.2014, 15:41
Цитата Сообщение от bb_oo Посмотреть сообщение
есть идеи?
Почему бы им не быть? Пишем сами или берем готовую регулярочку, или же используем плагины для этих дел.
Цитата Сообщение от bb_oo Посмотреть сообщение
мне нужен чек на валидность на JS\JQ, но не на PHP
А вот это зря. Без проверки на сервере, вся ваша валидация - пустой звук.
0
15 / 15 / 9
Регистрация: 22.11.2013
Сообщений: 762
29.04.2014, 15:54  [ТС]
Смотрите что получилось. http://babo4ka.net76.net/
И вот мне нужна проверка до того, как появиться прогресс бар. И если размер фала больше 200мб например, то бьем ошибку. Подскажите как реализовать?

Добавлено через 9 минут
Нашел как узнать размер. Делается это одной строчкой:
JavaScript
1
2
3
 $('#files').bind('change', function() {
            alert('This file size is: ' + this.files[0].size/1024/1024 + "MB");
        });
Как дальше быть? (читайте выше))
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
29.04.2014, 16:02
Цитата Сообщение от bb_oo Посмотреть сообщение
И если размер фала больше 200мб например, то бьем ошибку.
JavaScript
1
evt.target.files[0].size // размер файла в байтах
Добавлено через 52 секунды
Цитата Сообщение от bb_oo Посмотреть сообщение
читайте выше
Что читать?

Добавлено через 4 минуты
bb_oo, я всегда думал, что при рождении мне выдалась двойная порция лени, но оказывается, что вы меня перещеголяли Вы ни минуты не задумываясь задаёте вопрос, а чуть поразмыслив - находите сами ответ. Может делать некоторую паузу между этими действиями?
1
15 / 15 / 9
Регистрация: 22.11.2013
Сообщений: 762
29.04.2014, 16:06  [ТС]
axaxaxaxax)))

Добавлено через 1 минуту
А такой вот вопрос еще) Как мне прекратить загрузку файла и отменить progressbar?
Я вот че-то пытался но фиг там(
JavaScript
1
2
3
4
5
6
7
$('#files').bind('change', function() {
            var fileSize = this.files[0].size/1024/1024;
            if (fileSize < 200) {
              alert('Файл должен быть меньше 200мб!');
              reader.abort(); 
            };
    });
Добавлено через 1 минуту
return false - тоже не помогает)
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
29.04.2014, 16:10
Цитата Сообщение от bb_oo Посмотреть сообщение
Как мне прекратить загрузку файла и отменить progressbar?
Это в связи с проверкой на размер файла? Так зачем вообще начинать загрузку, если проверка не пройдена?
0
15 / 15 / 9
Регистрация: 22.11.2013
Сообщений: 762
29.04.2014, 16:13  [ТС]
Я вот это и хочу сделать, если проверка не пройдена не начинать вобще не какой загрузки. Просто сделать Alert и все. Алерт я сделал, но загрузка продолжается(
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
29.04.2014, 16:31
Цитата Сообщение от bb_oo Посмотреть сообщение
Я вот это и хочу сделать
Добавьте проверку в начало функции handleFileSelect, если не пройдена return false;
0
15 / 15 / 9
Регистрация: 22.11.2013
Сообщений: 762
29.04.2014, 21:02  [ТС]
как?))

Добавлено через 4 часа 19 минут
все проехали) Слушай. Тут задумался. Как сделать, чтобы проценты отображались не в самом progressbar а рядом?)

Добавлено через 21 секунду
ИсходникЖ
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
  var reader;
  var progress = document.querySelector('.percent');
 
  function abortRead() {
    reader.abort();
  }
 
  function errorHandler(evt) {
    switch(evt.target.error.code) {
      case evt.target.error.NOT_FOUND_ERR:
        alert('File Not Found!');
        break;
      case evt.target.error.NOT_READABLE_ERR:
        alert('File is not readable');
        break;
      case evt.target.error.ABORT_ERR:
        break; // noop
      default:
        alert('An error occurred reading this file.');
    };
  }
 
  function updateProgress(evt) {
    
    if (evt.lengthComputable) {
      var percentLoaded = Math.round((evt.loaded / evt.total) * 100);
      // Increase the progress bar length.
      if (percentLoaded < 100) {
        progress.style.width = percentLoaded + '%';
        progress.textContent = percentLoaded + '%';
      }
    }
  }
 
  function handleFileSelect(evt) {
    $('.drop').hide();
    progress.style.width = '0%';
    progress.textContent = '0%';
 
    reader = new FileReader();
    reader.onerror = errorHandler;
    reader.onprogress = updateProgress;
    reader.onabort = function(e) {
      alert('File read cancelled');
    };
    reader.onloadstart = function(e) {
      document.getElementById('progress_bar').className = 'loading';
    };
    reader.onload = function(e) {
      // Ensure that the progress bar displays 100% at the end.
      progress.style.width = '100%';
      progress.textContent = '100%';
      setTimeout("document.getElementById('progress_bar').className='';", 2000);
    }
 
    // Read in the image file as a binary string.
    reader.readAsBinaryString(evt.target.files[0]);
  }
 
  document.getElementById('files').addEventListener('change', handleFileSelect, false);
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
29.04.2014, 21:27
Цитата Сообщение от bb_oo Посмотреть сообщение
Как сделать, чтобы проценты отображались не в самом progressbar а рядом?
Создать отдельный блок и выводить проценты в него. Т.е. нужно изменить строки:
JavaScript
1
2
3
progress.textContent = ' ...... ';
// на 
percentOtput.textContent = ' ...... ';
Где percentOtput - это тот самы элемент, в который нужно делать вывод.
1
15 / 15 / 9
Регистрация: 22.11.2013
Сообщений: 762
30.04.2014, 22:04  [ТС]
Uncaught ReferenceError: percentOtput is not defined

Добавлено через 2 минуты
Я сделал вот так:
JavaScript
1
2
3
4
5
6
if (percentLoaded < 100) {
        var mbLoaded = Math.round((evt.loaded / evt.total));
        progress.style.width = percentLoaded + '%';
        progress.textContent = percentLoaded + '%';
        $('.afd').html(percentLoaded + '%');
      }
Но теперь следующая ситуация. Проценты внизу выводятся, но они до 100% не доходят. 93% или 97% постоянно пишет

Добавлено через 59 минут
и как сделать, чтобы еще отображалось сколько из сколька загружено МБ?

Добавлено через 24 минуты
пробовал так, но ничего не выводится вобще, кроме прогрессбара(
JavaScript
1
2
3
4
5
6
7
8
9
10
if (evt.lengthComputable) {
      var percentLoaded = Math.round((evt.loaded / evt.total) * 100);
      var mbLoaded = Math.round((evt.loaded / evt.total));
      // Increase the progress bar length.
      if (percentLoaded < 100) {
         $('.afd').html('Uploaded' + mbLoaded + 'mb' + 'of' + evt.total);
        progress.style.width = percentLoaded + '%';
        progress.textContent = percentLoaded + '%';
       
      }
Добавлено через 8 часов 39 минут
help)))
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
30.04.2014, 22:14
JavaScript
1
$('.afd').html('Uploaded' + evt.loaded + 'mb' + 'of' + evt.total);
0
15 / 15 / 9
Регистрация: 22.11.2013
Сообщений: 762
30.04.2014, 23:43  [ТС]
не выводится(
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
01.05.2014, 00:30
Цитата Сообщение от bb_oo Посмотреть сообщение
не выводится(
Что именно не выводится?
0
15 / 15 / 9
Регистрация: 22.11.2013
Сообщений: 762
01.05.2014, 00:36  [ТС]
Цитата Сообщение от Lazy_Den Посмотреть сообщение
Что именно не выводится?
$('.afd').html('Uploaded' + evt.loaded + 'mb' + 'of' + evt.total);
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
01.05.2014, 00:40
bb_oo, значит должна выводится ошибка. Какая?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.05.2014, 00:40
Помогаю со студенческими работами здесь

Как на скрипте управлять ActiveX компонентом ProgressBar?
Подскажите, пожалуйста, как на скрипте управлять ActiveX компонентом ProgressBar? То есть задача, ... допустим поместить его во фрейм и...

JQuery UI - Progressbar! Как повесить прогрессбар на load всего дока или же конкретного элемента?
&lt;HTML&gt; &lt;HEAD&gt; &lt;link href=&quot;http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css&quot; rel=&quot;stylesheet&quot;...

Консольный progressbar или progressbar в TMemo
Здравствуйте. Хочу спросить ради интереса как создать вот такой ProgressBar но с указанием своих сиволов в консоли и в...

ProgressBar
Никак не могу понять как использовать ProgressBar. А точнее не как использовать, а как инициализировать. На русском не нашёл ни чего, а на...

progressbar
Передаю через сокеты файлы(клиент-сервер). Нужно чтобы на форме был прогресс бар отображающий передачу файла и время до конца передачи. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru