Индикатор выполнения jQueryUI

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

ie.

function test() {

show the jQuery UI progress bar for 5 seconds in div ("progressbar")

after 5 seconds has passed..... execute test2()

}

Как это может быть сделано?


person Jason Kelly    schedule 11.09.2012    source источник


Ответы (1)


Вы можете сделать это следующим образом:

​<button onclick="test()">Test</button>
<div id="progress"></div>​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

С анимацией:

function test(){
    var per = 0;
    progress(per);
    time = setTimeout(function(){ animate(per); }, 1000);
    setTimeout(function(){ $( "#progress" ).hide(); test2(); }, 5000);

}

function animate(per){

    clearTimeout(time);
    per = per+20;
    progress(per);

    time = setTimeout(function(){ animate(per); }, 1000);
}

function test2(){
    alert('test2');
}
function progress(per){
    $( "#progress" ).progressbar({
        value: per
    });        
}

Пример JSFiddle

person Mihai Iorga    schedule 11.09.2012