話不多說 直接上代碼
jquery 版$.ajax({ url: "URL", type: "POST", data: fd, processData: false, //用來回避jquery對(duì)formdata的默認(rèn)序列化,XMLHttpRequest會(huì)對(duì)其進(jìn)行正確處理 contentType: false, //設(shè)為false才會(huì)獲得正確的conten-Type xhr: function() { //用以顯示上傳進(jìn)度 var xhr = $.ajaxSettings.xhr(); if (xhr.upload) { xhr.upload.addEventListener("progress", function(event) { var percent = Math.floor(event.loaded / event.total * 100); document.querySelector("#progress .progress-item").style.width = percent + "%"; }, false); } return xhr }, success: function(data) { } })原生js版
var xhr = new XMLHttpRequest(); xhr.open("POST", "url"); // 上傳完成后的回調(diào)函數(shù) xhr.onreadystatechange = function() { if (xhr.status === 200) { console.log(xhr.responseText); } else { console.log("上傳出錯(cuò)"); } }; // 獲取上傳進(jìn)度 xhr.upload.onprogress = function(event) { console.log(event.loaded) console.log(event.total) if (event.lengthComputable) { var percent = Math.floor(event.loaded / event.total * 100); document.querySelector("#progress .progress-item").style.width = percent + "%"; // 設(shè)置進(jìn)度顯示 console.log(percent) } }; xhr.send(fd);
html 和相關(guān)進(jìn)度條css
#progress { height: 10px; width: 300px; border: 1px solid gold; position: relative; border-radius: 5px; } #progress .progress-item { height: 100%; position: absolute; left: 0; top: 0; background: chartreuse; border-radius: 5px; transition: width .3s linear; }大字表示注意,網(wǎng)速快了 看到的進(jìn)度條是一瞬間完成,打印的percent也都是100,如果要看比較明顯的效果可以把控制臺(tái)的模擬網(wǎng)速調(diào)成slow 3G,就能看到比較明顯的效果。
有任何問題 下方留言
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/92542.html
摘要:轉(zhuǎn)載來源包管理器管理著庫,并提供讀取和打包它們的工具。能構(gòu)建更好應(yīng)用的客戶端包管理器。一個(gè)整合和的最佳思想,使開發(fā)者能快速方便地組織和編寫前端代碼的下一代包管理器。很棒的組件集合。隱秘地使用和用戶數(shù)據(jù)。 轉(zhuǎn)載來源:https://github.com/jobbole/aw... 包管理器管理著 javascript 庫,并提供讀取和打包它們的工具。?npm – npm 是 javasc...
摘要:轉(zhuǎn)載來源包管理器管理著庫,并提供讀取和打包它們的工具。能構(gòu)建更好應(yīng)用的客戶端包管理器。一個(gè)整合和的最佳思想,使開發(fā)者能快速方便地組織和編寫前端代碼的下一代包管理器。很棒的組件集合。隱秘地使用和用戶數(shù)據(jù)。 轉(zhuǎn)載來源:https://github.com/jobbole/aw... 包管理器管理著 javascript 庫,并提供讀取和打包它們的工具。?npm – npm 是 javasc...
摘要:一個(gè)專注于瀏覽器端和兼容的包管理器。一個(gè)整合和的最佳思想,使開發(fā)者能快速方便地組織和編寫前端代碼的下一代包管理器。完全插件化的工具,能在中識(shí)別和記錄模式。健壯的優(yōu)雅且功能豐富的模板引擎。完整的經(jīng)過充分測(cè)試和記錄數(shù)據(jù)結(jié)構(gòu)的庫。 【導(dǎo)讀】:GitHub 上有一個(gè) Awesome – XXX 系列的資源整理。awesome-javascript 是 sorrycc 發(fā)起維護(hù)的 JS 資源列表...
摘要:官網(wǎng)全新的靜態(tài)包管理器。官網(wǎng)一個(gè)整合和官網(wǎng)的最佳思想,使開發(fā)者能快速方便地組織和編寫前端代碼的下一代包管理器。官網(wǎng)小巧的兼容的所見即所得的富文本編輯器。官網(wǎng)富文本編輯器。官網(wǎng)由制作,適用于每天寫作的富文本編輯器。 1. 包管理器 管理著 javascript 庫,并提供讀取和打包它們的工具。 npm:npm 是 javascript 的包管理器。官網(wǎng) cnpm:cnpm 是 由于國(guó)...
摘要:需求當(dāng)上傳的文件相對(duì)較大時(shí),用戶可能需要等待較長(zhǎng)的時(shí)間,這個(gè)時(shí)候前端如果沒有任何提示的話,體驗(yàn)不是很好,如果有上傳進(jìn)度提示,就會(huì)好很多。 需求 當(dāng)上傳的文件相對(duì)較大時(shí),用戶可能需要等待較長(zhǎng)的時(shí)間,這個(gè)時(shí)候前端如果沒有任何提示的話,體驗(yàn)不是很好,如果有上傳進(jìn)度提示,就會(huì)好很多。而要在上傳過程實(shí)時(shí)顯示上傳進(jìn)度,則需要已上傳的大小和文件總大小。 前提 請(qǐng)求是異步的。因?yàn)橐獙?shí)時(shí)獲取到上傳的進(jìn)度...
閱讀 3898·2021-09-27 13:36
閱讀 4637·2021-09-22 15:12
閱讀 3075·2021-09-13 10:29
閱讀 1845·2021-09-10 10:50
閱讀 2381·2021-09-03 10:43
閱讀 533·2019-08-29 17:10
閱讀 455·2019-08-26 13:52
閱讀 3271·2019-08-23 14:37