2012-02-04 147 views
1

我有这样的:Plupload上传进度速度

var uploader = $('#plupload').pluploadQueue(); 

uploader.bind('UploadProgress', function(up, file) 
{ 
    speedLog(uploader); 
}); 

function speedLog(uploader) { 
    var speed = uploader.total.bytesPerSec; 
    console.log(speed); 
}; 

和它的作品,我可以看到在Firebug的输出,但大规模的,我的意图是要提交“速度”低谷阿贾克斯。我想每5秒左右调用一次speedLog(),我该如何实现?

感谢SR查询。 我这样做:

window.setInterval(
    function speedLog(uploader) { 
    var uploader = $('#plupload').pluploadQueue(); 
    var speed = uploader.total.bytesPerSec; 
    if(speed > 0) 
    { 
     console.log(speed); 
    } else { 
     clearInterval(ib); 
    } 
    }, 5000); 

看起来不错:http://imageshack.us/photo/my-images/221/speedt.png/

回答

1

试试这个jQuery的进度条插件..你不喜欢的插件尝试以另一种方式这一逻辑。 (..)

var ib; 
var timer_speed = 200; // 1000 = 1 second 
function progressBar_completeHandler(event, ui) { 
    // what you want to do after completing the progress. do it here 
} 
$(function() { 
    $("#progressbar").progressbar({value:0, complete:progressBar_completeHandler}); 
}); 
function start_timer(){ 
    val = $("#progressbar").progressbar("option", "value"); 
    ib=setInterval("increment_bar()",timer_speed); 
} 
function increment_bar() { 
    $('#progressbar').progressbar('option', 'value', val+=1); 
    if(val > 99){clearInterval(ib);} 
} 
+0

希望能节省您的时间。 – 2012-02-07 05:15:44