2010-12-23 40 views
0

问题: - 我需要嵌入一个持续运行的进度条,直到完成操作。 ExtJS的提供了进度条Ext.Progressbar这将: -
一)连续运行使用等待方法
b)中更新所述的UpdateProgress方法后运行。使用ExtJS显示连续的ProgressBar

在进度的同时输出的情况下将是

alt text

我试图用于解决方法是: -
步骤1: alt text
步骤2: alt text
步骤3: alt text

Kindl我建议我一个解决方案或方法。我正在使用的JavaScript库是ExtJS。提前致谢。

链接简称为例如: -
http://dev.sencha.com/deploy/dev/examples/simple-widgets/progress-bar.html


回答

1

这里有一个简单的方法:你可以创建一个GIF动画,显示出您所描述的连续进度条:

  • 动态地开始创建一个与GIF作为SRC img元素你的操作
  • 去除完成img元素

,或者如果你想显示空进步党操作S前杆和结束后的完整进度条:

  • 包括与src属性指向空进度条
  • 更新IMG SRC来指代动画GIF的图像的img元素
  • 更新IMG SRC指全进度条的图像在年底
0

我收集的Ext JS用来提供一个不确定的进度条在三年前,在0.4;然而,由于浏览器可以停止动画GIF的方式,它已被删除。您可以使用该论坛帖子中指出的样式恢复它 - 使用类似Firebug的东西来查看您应该设计的样式。

Forum reference

0

使用JavaScript的另一种方法:你可以动画彩色DIV的父专区内的左边距(进度指示器)(中进度条),使用setTimeout或简单的ani mation库,如emile.js

ExtJS也提供了一个可选的动画设置的分机。元素类:

  • 你可以调用setX的(X,动画)与可选的参数在每一步骤
  • 上的进度指示器的动画或插入进度指示器之前一个透明的“推动器”元件,并调用setWidth(宽度,动画)推进进度指示器

在这两种情况下,您都应该在动画选项中提供完成回调来重置动画和循环。

1
Ext.get('buttonID').on('click', function(){ 
    Ext.MessageBox.show({ 
     msg: 'Saving your data, please wait...', 
     progressText: 'Saving...', 
     width:300, 
     wait:true, 
     waitConfig: {interval:200}, 
     icon:'ext-mb-download', 
     animEl: 'buttonID' 
    }); 
    setTimeout(function(){ 
     //This simulates a long-running operation like a database save or XHR call. 
     //In real code, this would be in a callback function. 
     Ext.MessageBox.hide(); 
     Ext.example.msg('Done', 'Your fake data was saved!'); 
    }, 8000); 
});