我通过XmlHTTPRequest和 HTML5上传多个文件.我上传工作正常,但我希望每个文件上传都有一个进度条.但是,我的代码使用最后一个进度条进行所有文件上传,而不是使用自己的进度条进行每次上传.所以这主要是客户端的视觉效果,但它真的很烦我.出于某种原因,我假设附加文件上传进度的事件会覆盖自己并使用最后一个进度条.这是我的代码:
var files = event.dataTransfer.files;

    // iterate over each file to upload,send a request,and attach progress event
    for (var i = 0,file; file = files[i]; i++) {
        var li = $("<li>" + file.name + "<div class='progressbar'></div></li>");

        // add the LI to the list of uploading files
        $("#uploads").append(li);

        // fade in the LI instead of just showing it
        li.hide().fadeIn();

        var xhr = new XMLHttpRequest();

            xhr.upload.addEventListener('progress',function(e) {
                var percent = parseInt(e.loaded / e.total * 100);
                li.find(".progressbar").width(percent);
            },false);

            // check when the upload is finished
            xhr.onreadystatechange = stateChange;

            // setup and send the file
            xhr.open('POST','/attachments',true);
            xhr.setRequestHeader('X-FILE-NAME',file.name);
            xhr.send(file);
        }

我假设“进展”事件没有正确读取正确的“li”.我怀疑我必须要做某种绑定来告诉“progress”事件使用特定变量,因为它是“li”,但我不确定我缺少什么.

解决方法

您的示例无法正常工作,因为您没有考虑在已创建所有列表项时触发xhr progress事件.但是,有很多方法可以使您的示例正常工作.我们的想法是让xhr知道它正在处理的确切列表项.例如,使用此代码(我没有检查它是否有效.此代码的目的是描述这个想法):
var xhr = new XMLHttpRequest();
xhr.upload.li = li;
xhr.upload.addEventListener('progress',function(e) {
    var percent = parseInt(e.loaded / e.total * 100);
    this.li.find(".progressbar").width(percent);
},false);

带有多个进度条的HTML5文件上传的更多相关文章

  1. 浅谈HTML5 FileReader分布读取文件以及其方法简介

    本篇文章主要介绍了浅谈HTML5 FileReader分布读取文件以及其方法简介,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  2. ios – 在导航栏下添加进度条

    我是iOS开发的新手.我想知道在iOS7中是否在UINavigationBar下发送消息时,其标题为:发送,有一个进度条正在加载,直到消息成功发送.我的问题是:>那个酒吧是进度条吗?有人可以给我一些关于如何在iOS7和iOS6上创建它的想法吗?

  3. ios – 当应用程序强制退出时如何恢复下载?

    )方法PS:谢谢你的回答我明白我的帖子有多么误导性.我会尝试工作的框架,可以允许恢复下载后,应用程序强制退出

  4. ios – 如何在UIProgressView中设置进度色调

    我想知道如何设置UIProgressView色调颜色.有时,根据颜色,默认高度不允许正确查看进度.如何解决这个问题?解决方法您可以通过此设置曲线和进度条的色调颜色;对于轨道颜色:进度条:希望这可以帮助..:)

  5. ios – 进度视图未更新 – Swift

    我正在使用Swift中的ProgressView这是我的代码即使完整提供此输出它不会在此更新进度视图解决方法针对Swift3进行了更新对UI的更改应始终发生在主/前台线程上,在这种情况下,它发生在后台队列上.使用:把它移到前台.前Swift3的旧答案对UI的更改应始终发生在主/前台线程上,它发生在后台队列上.使用:把它移到前台.

  6. ios – NSProgress奇怪的行为

    我有一个由几个子任务组成的大任务.我想为这项重大任务添加进度报告.为此,我想使用nsprogress,并根据类文档,我可以通过使用其子–父机制来做这种子任务进展.所以为了简化它,让我说我有一个由一个子任务组成的大任务.这就是我所做的:如您所见,子任务使用背景上下文来运行一些与CoreData相关的代码,而后台上下文使用主上下文作为其父上下文.这会导致进度的“fractionCompleted”属性出现一些奇怪的KVO.这是印刷品:如你所见,打印以1.0,0.5和1.0开始,然后是0.66?

  7. swift爬行篇 滑块,进度条,步进,

    滑块1.创建continous属性为true:滑块在滑动过程中响应事件,为false时则只在滑动后响应事件2.设置各区域的图片3.响应事件和Tag4.获取滑块的值进度条1创建2.设置步进控件1.创建2.响应事件continuous属性UiSlider类似3.获取步进的值

  8. Swift - 进度条UIProgressView的用法

    overridefuncviewDidLoad(){//这里放置步骤二的代码即可}二、在函数中创建进度条控件progress=UIProgressViewprogress.progress=0progress.progresstintColor=UIColor.redColor()progress.trackTintColor=UIColor.blackColor()self.view.addSubviewtimer=NSTimer.scheduledTimerWithTimeIntervaltimer.

  9. Swift UISwitch/UIProgressView/UISlider

    1.UISwitch开关视图,可以让用户快速的开关一个功能,比如蓝牙,wif等.系统默认样式:上面绿色的开启状态,下面的是关闭状态.UISwitch的构成部分:UISwitch的大小是W51H31,这固定在,在设置它的frame的时候可以不设置其大小.为什么是固定的呢?

  10. android – 根据搜索栏值更改颜色

    我试图根据搜索栏的值改变颜色.我希望颜色能够在很宽的范围内出现.这是我尝试过的,但它没有给我我想要的颜色:有任何想法吗?解决方法如果只需要明亮饱和的颜色,请使用Color.HSVToColor()而不是直接设置R,G和B组件:此代码将从红色开始设置颜色,然后平滑变为橙色,黄色,绿色,蓝色和洋红色,当进度从0变为maxProgress时返回红色

随机推荐

  1. 微信小程序canvas实现水平、垂直居中效果

    这篇文章主要介绍了小程序中canvas实现水平、垂直居中效果,本文图文实例代码相结合给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

  2. 使用HTML5做的导航条详细步骤

    这篇文章主要介绍了用HTML5做的导航条详细步骤,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  3. H5最强接口之canvas实现动态图形功能

    这篇文章主要介绍了H5最强接口之canvas实现动态图形功能,需要的朋友可以参考下

  4. Canvas高级路径操作之拖拽对象的实现

    这篇文章主要介绍了Canvas高级路径操作之拖拽对象的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

  5. html5视频自动横过来自适应页面且点击播放功能的实现

    这篇文章主要介绍了h5视频自动横过来自适应页面且点击播放,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  6. 详解HTML5中的picture元素响应式处理图片

    这篇文章主要介绍了详解HTML5中的picture元素响应式处理图片,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  7. canvas像素点操作之视频绿幕抠图

    这篇文章主要介绍了canvas像素点操作之视频绿幕抠图的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  8. html5利用canvas实现颜色容差抠图功能

    这篇文章主要介绍了html5利用canvas实现颜色容差抠图功能,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下

  9. canvas绘制视频封面的方法

    这篇文章主要介绍了canvas绘制视频封面的方法的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  10. HTML5拖拽功能实现的拼图游戏

    本文通过实例代码给大家介绍了HTML5拖拽功能实现的拼图游戏,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧

返回
顶部