最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

jQuery監(jiān)聽文件上傳實現(xiàn)進度條效果的方法

 更新時間:2016年10月16日 10:41:21   投稿:jingxian  
下面小編就為大家?guī)硪黄猨Query監(jiān)聽文件上傳實現(xiàn)進度條效果的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

原理:

給XMLHttpRequest對象的upload屬性綁定onprogress方法監(jiān)聽上傳過程

var xhr=new XMLHttpRequest(); xhr.upload.onprogress=function(e){}

因為jQuery默認使用的XMLHttpRequest對象是內(nèi)部生成的無法直接給jq的xhr綁定onprogress方法

所以只要給jQuery重新生成一個綁定了onprogress的XMLHttpRequest對象即可實現(xiàn)

首先封裝一個方法 傳入一個監(jiān)聽函數(shù) 返回一個綁定了監(jiān)聽函數(shù)的XMLHttpRequest對象

var xhrOnProgress=function(fun) {
  xhrOnProgress.onprogress = fun; //綁定監(jiān)聽
  //使用閉包實現(xiàn)監(jiān)聽綁
  return function() {
    //通過$.ajaxSettings.xhr();獲得XMLHttpRequest對象
    var xhr = $.ajaxSettings.xhr();
    //判斷監(jiān)聽函數(shù)是否為函數(shù)
    if (typeof xhrOnProgress.onprogress !== 'function')
      return xhr;
    //如果有監(jiān)聽函數(shù)并且xhr對象支持綁定時就把監(jiān)聽函數(shù)綁定上去
    if (xhrOnProgress.onprogress && xhr.upload) {
      xhr.upload.onprogress = xhrOnProgress.onprogress;
    }
    return xhr;
  }
}

上傳時使用$.ajax方法

$.ajax({
  url: url,
  type: 'POST',
  xhr:xhrOnProgress(function(e){
    var percent=e.loaded / e.total;//計算百分比
  })
});

使用HW.js文件上傳工具 自帶進度條效果 支持綁定自定義監(jiān)聽函數(shù),支持上傳實時預(yù)覽(HTML5實現(xiàn) 無需服務(wù)器)HW.js

<div id="cover" class="HW_upload">請選擇要上傳的文件</div>
<script>
var upload= new HW.Widget.upload.Create({
  target:'#cover',//指定上傳控件
  url:"/upload.php",//上傳地址
  //設(shè)置允許上傳的文件大小 單位為kb 默認為 4096
  maxSize:2048,
  //開啟多文件上傳
  mult:false,
  //設(shè)置上傳按鈕的文字
  uploadText:'請選擇要上傳的文件',
  //設(shè)置上傳超時限制 單位為分鐘 默認為20分鐘
  timeout:20,
  //設(shè)置允許上傳的文件類型 默認為['png','jpg','jpeg']
  // accept:['jpg'],
  //設(shè)置文件上傳參數(shù)名 默認為HW_upload_input
  inputName:'cover',
  //設(shè)置控件為圖片上傳 默認為true 為false時則不開啟文件預(yù)覽
  isImage:true,
  //自定義文件檢查函數(shù) 默認檢測文件大小 類型
  // fileCheck:function(file){return true;},
  viewSize:[500,300],//設(shè)置圖片預(yù)覽框?qū)捀?默認為400,300
  viewImageWidth:70,//設(shè)置預(yù)覽圖片寬度默認為80
  done:function(data){
    alert(data);//獲得上傳結(jié)束后服務(wù)器返回的數(shù)據(jù)
  }
});

以上就是小編為大家?guī)淼膉Query監(jiān)聽文件上傳實現(xiàn)進度條效果的方法全部內(nèi)容了,希望大家多多支持腳本之家~

相關(guān)文章

  • jQuery Selectors(選擇器)的使用(九、表單對象屬性篇)

    jQuery Selectors(選擇器)的使用(九、表單對象屬性篇)

    本系列文章主要講述jQuery框架的選擇器(Selectors)使用方法,我將以實例方式進行講述,以簡單,全面為基礎(chǔ),不會涉及很深,我的學(xué)習(xí)方法:先入門,后進階!
    2009-12-12
  • jQuery function的正確書寫方法

    jQuery function的正確書寫方法

    jQuery function想必大家都不會陌生,web前端開發(fā)人員經(jīng)常會接觸到,下面為大家介紹下它的正確書寫方法,感興趣的朋友可以參考下
    2013-08-08
  • jquery版輪播圖效果和extend擴展

    jquery版輪播圖效果和extend擴展

    這篇文章主要為大家詳細介紹了jquery版輪播圖效果,以及extend擴展的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • JQery 漸變圖片導(dǎo)航效果代碼 漂亮

    JQery 漸變圖片導(dǎo)航效果代碼 漂亮

    JQery 漸變圖片導(dǎo)航,效果不錯,非常漂亮。
    2010-01-01
  • jquery DataTable實現(xiàn)前后臺動態(tài)分頁

    jquery DataTable實現(xiàn)前后臺動態(tài)分頁

    本篇文章主要介紹了jquery DataTable實現(xiàn)前后臺動態(tài)分頁。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • 詳解jQuery中的prop()使用方法

    詳解jQuery中的prop()使用方法

    prop() 方法應(yīng)該用于檢索屬性值,例如 DOM 屬性,如 selectedIndex, tagName, nodeName, nodeType, ownerDocument, defaultChecked, 和 defaultSelected,這里腳本之家小編就為大家介紹一下啊
    2020-01-01
  • JQuery給網(wǎng)頁更換皮膚的方法

    JQuery給網(wǎng)頁更換皮膚的方法

    這篇文章主要介紹了JQuery給網(wǎng)頁更換皮膚的方法,用到了jQuery頁面元素獲取、樣式及鏈式操作的相關(guān)技巧,需要的朋友可以參考下
    2015-05-05
  • jquery選擇器(常用選擇器說明)

    jquery選擇器(常用選擇器說明)

    jquery選擇器,比較常用的選擇器說明,學(xué)習(xí)jquery的朋友一定要學(xué)習(xí)與了解的知識。
    2010-09-09
  • jQuery多個input求和的實現(xiàn)方法

    jQuery多個input求和的實現(xiàn)方法

    這篇文章主要介紹了jQuery多個input求和的實現(xiàn)方法,涉及jQuery獲取input表單元素值及運算的相關(guān)技巧,需要的朋友可以參考下
    2015-02-02
  • jQuery zTree樹插件的使用教程

    jQuery zTree樹插件的使用教程

    這篇文章主要為大家詳細介紹了jQuery zTree樹插件的使用教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-08-08

最新評論

塔城市| 墨脱县| 灵宝市| 灵寿县| 德安县| 浦县| 德令哈市| 桂东县| 鄂州市| 绍兴县| 宁海县| 和顺县| 河东区| 武穴市| 麦盖提县| 滨海县| 广元市| 烟台市| 洮南市| 丰原市| 合水县| 瓮安县| 恩平市| 库尔勒市| 宣恩县| 通州区| 榆林市| 鲁甸县| 南城县| 社会| 兴文县| 绥化市| 赤水市| 准格尔旗| 台南市| 依安县| 延川县| 唐河县| 会东县| 张家口市| 高平市|