2010-01-08 2 views
1

Я использую индикатор выполнения jQuery. Однако я хочу использовать его больше как прядильщик. Я не могу предсказать, когда задача завершится. Поэтому мне нужен не определенный индикатор выполнения.jquery progress bar: не определено 1

jQuery UI progress bar работает только тогда, когда вы знаете, сколько сделано. Возможно ли использовать индикатор выполнения JQuery UI таким образом, что когда бар достигает 100%, тогда он начинается снова.

У меня есть тема, которая была развернута, поэтому было бы неплохо, если бы я мог работать с работающим баром jquery UI, а не с помощью другого плагина.

ответ

0

Вы можете установить тайм-аут, чтобы увеличить значение индикатора выполнения на 5% каждые несколько секунд, и если оно достигнет 100% начала с 0 .. или отмените приращение до -5%, так что оно будет увеличиваться и уменьшаться ...

что-то вроде

function progressTimeout() { 
    setTimeout(
      function(){ 
         var pbar = $("#progressbar"); 
         var pvalue = pbar.progressbar('option','value'); 
         if (pvalue == 100) pvalue = 0; 
         pbar.progressbar('option', 'value',pvalue + 10); 

         if (!/*check if action is complete*/) 
          setTimeout(progressTimeout, 2000); 
         }, 
      2000 
     ); 
} 
2

в самом дизайне пользовательского интерфейса, пожалуйста, не изменить значение детерминированной индикатору выполнения, чтобы представлять неопределенная один: это очень раздражает, чтобы увидеть прогресс бар, видимо, собирается до конца и "... Неа! одураченный ya! ». Неопределенные индикаторы выполнения на обеих Mac OS X и Windows имеют различные визуальные представления, и так вам тоже.

1

http://www.ajaxload.info/ позволяет создавать несколько типов настраиваемых неопределенных индикаторов хода и вращающихся элементов. Если вы действительно хотите использовать jQuery, я думаю, вы можете создать настраиваемую тему, которая использует анимированный фон типа spinner для индикатора выполнения.