Индикатор выполнения jquery: не определен - PullRequest
1 голос
/ 09 января 2010

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

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

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

Ответы [ 3 ]

2 голосов
/ 09 января 2010

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

1 голос
/ 09 января 2010

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

0 голосов
/ 09 января 2010

Вы можете установить тайм-аут для увеличения значения индикатора выполнения на 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
          );
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...