国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
鑰匙要點(diǎn)
在JavaScript中實(shí)現(xiàn)進(jìn)度欄
>如何自定義進(jìn)度欄的外觀?
>可以使用CSS自定義進(jìn)度欄的外觀。您可以更改顏色,高度,寬度甚至進(jìn)度條的形狀。例如,要更改顏色,您可以使用“背景色”屬性。您也可以使用“邊界 - 拉迪烏斯”屬性使進(jìn)度條形圓形或圓形。請(qǐng)記住針對(duì)CSS中正確的類(lèi)或ID以將這些更改應(yīng)用于進(jìn)度欄。
是的,您可以使用此進(jìn)度用于多個(gè)文件上傳的欄。但是,您需要修改JavaScript代碼以處理多個(gè)文件。您可以在輸入標(biāo)簽中使用“多個(gè)”屬性來(lái)選擇多個(gè)文件。然后,在您的JavaScript中,您需要循環(huán)瀏覽文件并單獨(dú)上傳它們,并為每個(gè)文件更新進(jìn)度欄。
>使進(jìn)度欄順利進(jìn)行動(dòng)畫(huà),您可以使用CSS過(guò)渡。將“過(guò)渡”屬性添加到CSS中的進(jìn)度條元素,指定過(guò)渡的屬性(例如'width'),過(guò)渡的持續(xù)時(shí)間和時(shí)序函數(shù)(例如,'lineal' ,'sibe-out-out')。
在文件上傳過(guò)程中處理錯(cuò)誤可以在'錯(cuò)誤'事件中完成聽(tīng)眾。當(dāng)上傳期間發(fā)生錯(cuò)誤時(shí),該事件將觸發(fā)。如果偵聽(tīng)器,您可以向用戶(hù)顯示錯(cuò)誤消息,并重置進(jìn)度欄。
首頁(yè) web前端 js教程 如何在HTML5和JavaScript中創(chuàng)建圖形文件上傳進(jìn)度條

如何在HTML5和JavaScript中創(chuàng)建圖形文件上傳進(jìn)度條

Feb 25, 2025 am 10:53 AM

如何在HTML5和JavaScript中創(chuàng)建圖形文件上傳進(jìn)度條

鑰匙要點(diǎn)

  • >在完成時(shí)為當(dāng)前進(jìn)度值和值提供屬性的HTML5 Progress標(biāo)簽可用于創(chuàng)建圖形文件上傳進(jìn)度欄,盡管作者選擇使用標(biāo)準(zhǔn)P標(biāo)簽來(lái)用于更多樣式選項(xiàng)。
  • 可以使用CSS進(jìn)行進(jìn)度欄的樣式,而綠色欄則作為圖形創(chuàng)建的寬度是進(jìn)度元素的兩倍,并且在上傳成功或失敗時(shí)應(yīng)用了固體色。
  • >
  • >通過(guò)修改uploadfile()函數(shù),添加一個(gè)“進(jìn)度”事件處理程序函數(shù)來(lái)計(jì)算新的背景位置,并在上傳完成時(shí)設(shè)置“成功”或“失敗”類(lèi),從而在JavaScript中實(shí)現(xiàn)了進(jìn)度欄。
  • 在我以前的帖子中,我們發(fā)現(xiàn)了如何使用HTML5文件拖放,使用JavaScript打開(kāi)文件,并使用AJAX上傳文件。在本系列的最后一部分中,我們涵蓋了該過(guò)程中最令人興奮的部分:圖形進(jìn)度條! 文件上傳進(jìn)度條提供了必不可少的用戶(hù)反饋,但眾所周知,它們很難實(shí)施。到現(xiàn)在為止。 Firefox和Chrome都支持提供進(jìn)度事件處理程序的XMLHTTPRequest2對(duì)象。但是首先,讓我們考慮如何實(shí)施進(jìn)度標(biāo)準(zhǔn)……
html5進(jìn)度標(biāo)簽

新的進(jìn)度標(biāo)簽提供了兩個(gè)屬性:

    值:當(dāng)前的進(jìn)度值
  • 最大:完成時(shí)的值
  • 該標(biāo)簽在此演示中本來(lái)是理想的選擇,盡管它在Chrome中得到了支持,但它僅出現(xiàn)在Firefox 6中。此外,這兩個(gè)瀏覽器都沒(méi)有提供許多樣式屬性,因此我將其放下以支持標(biāo)準(zhǔn)的P標(biāo)簽。這是小時(shí)候附加到Div的 具有ID“進(jìn)度”。
造型進(jìn)度欄

我們的p標(biāo)簽將在邊界框中顯示文件名的大小為250px:

對(duì)于綠色條本身,我創(chuàng)建了一個(gè)圖形,其寬度是進(jìn)度元素(500px)的兩倍。左250px是彩色的,右250px是透明的:
#progress p
{
	display: block;
	width: 240px;
	padding: 2px 5px;
	margin: 2px 0;
	border: 1px inset #446;
	border-radius: 5px;
}
該圖形用作進(jìn)度欄的背景圖像,并定位在“ x%0”中,其中x%表示剩余(未完成)的比例,即。 如何在HTML5和JavaScript中創(chuàng)建圖形文件上傳進(jìn)度條
    >進(jìn)度從“背景位置:100%0”開(kāi)始,即剩余100%
  • >進(jìn)度以“背景位置:0%0”結(jié)束,即沒(méi)有什么剩下的
  • “背景位置:30%0”意味著70%已經(jīng)完成:
  • 如何在HTML5和JavaScript中創(chuàng)建圖形文件上傳進(jìn)度條
當(dāng)上傳成功或失敗時(shí),通過(guò)設(shè)置類(lèi)來(lái)應(yīng)用純色:
#progress p
{
	display: block;
	width: 240px;
	padding: 2px 5px;
	margin: 2px 0;
	border: 1px inset #446;
	border-radius: 5px;
}

在JavaScript中實(shí)現(xiàn)進(jìn)度欄

現(xiàn)在,我們可以修改我們的uploadfile()函數(shù)。遇到有效的JPG文件時(shí),我們將新的P標(biāo)簽附加到#Progress元素,然后將文件名添加為文本:
#progress p.success
{
	background: #0c0 none 0 0 no-repeat;
}

#progress p.failed
{
	background: #c00 none 0 0 no-repeat;
}
現(xiàn)在,我們需要“進(jìn)度”事件處理程序功能。這將接收一個(gè)帶有.LOADAD和.TOTAL屬性的對(duì)象 - 計(jì)算新的背景問(wèn)題是必要的一點(diǎn)數(shù)學(xué):
// upload JPEG files
function UploadFile(file) {

	var xhr = new XMLHttpRequest();
	if (xhr.upload && file.type == "image/jpeg" && file.size <= $id("MAX_FILE_SIZE").value) {
	
		// create progress bar
		var o = $id("progress");
		var progress = o.appendChild(document.createElement("p"));
		progress.appendChild(document.createTextNode("upload " + file.name));
如果您熟悉Ajax,則可以認(rèn)識(shí)到現(xiàn)有的StateChange事件處理程序。這確定了何時(shí)上傳完成并相應(yīng)地設(shè)計(jì)進(jìn)度欄(如果上傳成功,則將“成功”類(lèi)設(shè)置):
		// progress bar
		xhr.upload.addEventListener("progress", function(e) {
			var pc = parseInt(100 - (e.loaded / e.total * 100));
			progress.style.backgroundPosition = pc + "% 0";
		}, false);
最后,我們像以前一樣將文件發(fā)送到我們的PHP服務(wù)器:
		// file received/failed
		xhr.onreadystatechange = function(e) {
			if (xhr.readyState == 4) {
				progress.className = (xhr.status == 200 ? "success" : "failure");
			}
		};
我們終于有了一個(gè)解決方案:
  1. 啟用文件拖動(dòng)并滴入網(wǎng)頁(yè)元素
  2. >
  3. >分析和顯示在客戶(hù)端上刪除文件
  4. 異步將文件上傳到服務(wù)器
  5. 顯示上傳期間的圖形進(jìn)度欄
  6. >使用漸進(jìn)式增強(qiáng)來(lái)支持大多數(shù)瀏覽器
  7. 不需要JavaScript庫(kù)。
  8. 但是,請(qǐng)查看演示頁(yè)面,但是請(qǐng)注意,這是在沒(méi)有PHP的服務(wù)器上托管的,因此不會(huì)發(fā)生文件上傳。要測(cè)試它,請(qǐng)下載文件以檢查代碼并將其托管在您自己的服務(wù)器上。 希望您喜歡這個(gè)系列,并考慮文件拖放如何幫助您的Web應(yīng)用程序。 如果您喜歡閱讀這篇文章,那么您會(huì)喜歡學(xué)習(xí);從大師那里學(xué)習(xí)新鮮技能和技術(shù)的地方。成員可以立即訪(fǎng)問(wèn)SitePoint的所有電子書(shū)和交互式在線(xiàn)課程,例如Learn HTML5。
  9. >關(guān)于HTML5 JavaScript文件上傳進(jìn)度欄
的經(jīng)常詢(xún)問(wèn)問(wèn)題(常見(jiàn)問(wèn)題解答)

>如何自定義進(jìn)度欄的外觀?

>可以使用CSS自定義進(jìn)度欄的外觀。您可以更改顏色,高度,寬度甚至進(jìn)度條的形狀。例如,要更改顏色,您可以使用“背景色”屬性。您也可以使用“邊界 - 拉迪烏斯”屬性使進(jìn)度條形圓形或圓形。請(qǐng)記住針對(duì)CSS中正確的類(lèi)或ID以將這些更改應(yīng)用于進(jìn)度欄。

我可以將此進(jìn)度欄用于多個(gè)文件上傳嗎?

是的,您可以使用此進(jìn)度用于多個(gè)文件上傳的欄。但是,您需要修改JavaScript代碼以處理多個(gè)文件。您可以在輸入標(biāo)簽中使用“多個(gè)”屬性來(lái)選擇多個(gè)文件。然后,在您的JavaScript中,您需要循環(huán)瀏覽文件并單獨(dú)上傳它們,并為每個(gè)文件更新進(jìn)度欄。

>

>如何在進(jìn)度欄上顯示上傳完成的百分比? '活動(dòng)聽(tīng)眾。您可以通過(guò)將加載的金額除以總量并乘以100來(lái)計(jì)算百分比。然后,將此值設(shè)置為Progress Bar元素的文本內(nèi)容。

為什么我的進(jìn)度欄在文件上傳期間不更新?

如果您的進(jìn)度欄在文件上傳過(guò)程中沒(méi)有更新,則可能是由于幾個(gè)原因所致。一個(gè)常見(jiàn)的原因是“進(jìn)度”事件聽(tīng)眾無(wú)法正確設(shè)置。確保已將事件偵聽(tīng)器添加到正確的對(duì)象中,并正確拼寫(xiě)事件名稱(chēng)。另外,檢查事件內(nèi)部的代碼是否正確更新了進(jìn)度欄的值和最大屬性。

我可以將此進(jìn)度欄與其他編程語(yǔ)言一起使用,例如PHP或Python?是的,您可以將此進(jìn)度欄與其他編程語(yǔ)言(如PHP或Python)一起使用。進(jìn)度欄是使用HTML和JavaScript實(shí)施的,這些HTML和JavaScript是客戶(hù)端技術(shù),可以與任何服務(wù)器端技術(shù)進(jìn)行交互。您將需要在JavaScript代碼中修改AJAX請(qǐng)求以將文件發(fā)送到您的服務(wù)器端腳本,并且您的服務(wù)器端腳本將需要處理文件上傳并返回進(jìn)度信息。

>我使Progress bar順利進(jìn)行動(dòng)畫(huà)?

>使進(jìn)度欄順利進(jìn)行動(dòng)畫(huà),您可以使用CSS過(guò)渡。將“過(guò)渡”屬性添加到CSS中的進(jìn)度條元素,指定過(guò)渡的屬性(例如'width'),過(guò)渡的持續(xù)時(shí)間和時(shí)序函數(shù)(例如,'lineal' ,'sibe-out-out')。

>在文件上傳過(guò)程中如何處理錯(cuò)誤?

在文件上傳過(guò)程中處理錯(cuò)誤可以在'錯(cuò)誤'事件中完成聽(tīng)眾。當(dāng)上傳期間發(fā)生錯(cuò)誤時(shí),該事件將觸發(fā)。如果偵聽(tīng)器,您可以向用戶(hù)顯示錯(cuò)誤消息,并重置進(jìn)度欄。

我可以取消文件上傳并重置進(jìn)度欄嗎?文件上傳并重置進(jìn)度欄。要取消文件上傳,您可以在XMLHTTPRequest對(duì)象上調(diào)用“流產(chǎn)”方法。要重置進(jìn)度欄,您可以將其值屬性設(shè)置為0。

>如何限制上傳的文件大???

>限制可以在JavaScript代碼中完成的文件大小以進(jìn)行上傳。在發(fā)送AJAX請(qǐng)求之前。您可以從文件對(duì)象的“大小”屬性中獲取文件的大小,如果超出您的限制,請(qǐng)顯示錯(cuò)誤消息并中止上傳。

>我可以將此進(jìn)度欄用于其他類(lèi)型的AJAX請(qǐng)求,而不僅僅是文件上傳?

是的,您可以將此進(jìn)度欄用于其他類(lèi)型的AJAX請(qǐng)求,而不僅僅是文件上傳。對(duì)于任何類(lèi)型的AJAX請(qǐng)求,“進(jìn)度”事件均可觸發(fā),而不僅僅是文件上傳。您將需要修改JavaScript代碼以發(fā)送適當(dāng)?shù)腁JAX請(qǐng)求,并根據(jù)請(qǐng)求的進(jìn)度更新進(jìn)度欄。

以上是如何在HTML5和JavaScript中創(chuàng)建圖形文件上傳進(jìn)度條的詳細(xì)內(nèi)容。更多信息請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請(qǐng)聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動(dòng)的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線(xiàn)人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機(jī)

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強(qiáng)大的PHP集成開(kāi)發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺(jué)化網(wǎng)頁(yè)開(kāi)發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)代碼編輯軟件(SublimeText3)

熱門(mén)話(huà)題

Java vs. JavaScript:清除混亂 Java vs. JavaScript:清除混亂 Jun 20, 2025 am 12:27 AM

Java和JavaScript是不同的編程語(yǔ)言,各自適用于不同的應(yīng)用場(chǎng)景。Java用于大型企業(yè)和移動(dòng)應(yīng)用開(kāi)發(fā),而JavaScript主要用于網(wǎng)頁(yè)開(kāi)發(fā)。

JavaScript評(píng)論:簡(jiǎn)短說(shuō)明 JavaScript評(píng)論:簡(jiǎn)短說(shuō)明 Jun 19, 2025 am 12:40 AM

JavascriptconcommentsenceenceEncorenceEnterential gransimenting,reading and guidingCodeeXecution.1)單inecommentsareusedforquickexplanations.2)多l(xiāng)inecommentsexplaincomplexlogicorprovideDocumentation.3)

如何在JS中與日期和時(shí)間合作? 如何在JS中與日期和時(shí)間合作? Jul 01, 2025 am 01:27 AM

JavaScript中的日期和時(shí)間處理需注意以下幾點(diǎn):1.創(chuàng)建Date對(duì)象有多種方式,推薦使用ISO格式字符串以保證兼容性;2.獲取和設(shè)置時(shí)間信息可用get和set方法,注意月份從0開(kāi)始;3.手動(dòng)格式化日期需拼接字符串,也可使用第三方庫(kù);4.處理時(shí)區(qū)問(wèn)題建議使用支持時(shí)區(qū)的庫(kù),如Luxon。掌握這些要點(diǎn)能有效避免常見(jiàn)錯(cuò)誤。

為什么要將標(biāo)簽放在的底部? 為什么要將標(biāo)簽放在的底部? Jul 02, 2025 am 01:22 AM

PlacingtagsatthebottomofablogpostorwebpageservespracticalpurposesforSEO,userexperience,anddesign.1.IthelpswithSEObyallowingsearchenginestoaccesskeyword-relevanttagswithoutclutteringthemaincontent.2.Itimprovesuserexperiencebykeepingthefocusonthearticl

JavaScript與Java:開(kāi)發(fā)人員的全面比較 JavaScript與Java:開(kāi)發(fā)人員的全面比較 Jun 20, 2025 am 12:21 AM

JavaScriptIspreferredforredforwebdevelverment,而Javaisbetterforlarge-ScalebackendsystystemsandSandAndRoidApps.1)JavascriptexcelcelsincreatingInteractiveWebexperienceswebexperienceswithitswithitsdynamicnnamicnnamicnnamicnnamicnemicnemicnemicnemicnemicnemicnemicnemicnddommanipulation.2)

JavaScript:探索用于高效編碼的數(shù)據(jù)類(lèi)型 JavaScript:探索用于高效編碼的數(shù)據(jù)類(lèi)型 Jun 20, 2025 am 12:46 AM

javascripthassevenfundaMentalDatatypes:數(shù)字,弦,布爾值,未定義,null,object和symbol.1)numberSeadUble-eaduble-ecisionFormat,forwidevaluerangesbutbecautious.2)

什么是在DOM中冒泡和捕獲的事件? 什么是在DOM中冒泡和捕獲的事件? Jul 02, 2025 am 01:19 AM

事件捕獲和冒泡是DOM中事件傳播的兩個(gè)階段,捕獲是從頂層向下到目標(biāo)元素,冒泡是從目標(biāo)元素向上傳播到頂層。1.事件捕獲通過(guò)addEventListener的useCapture參數(shù)設(shè)為true實(shí)現(xiàn);2.事件冒泡是默認(rèn)行為,useCapture設(shè)為false或省略;3.可使用event.stopPropagation()阻止事件傳播;4.冒泡支持事件委托,提高動(dòng)態(tài)內(nèi)容處理效率;5.捕獲可用于提前攔截事件,如日志記錄或錯(cuò)誤處理。了解這兩個(gè)階段有助于精確控制JavaScript響應(yīng)用戶(hù)操作的時(shí)機(jī)和方式。

Java和JavaScript有什么區(qū)別? Java和JavaScript有什么區(qū)別? Jun 17, 2025 am 09:17 AM

Java和JavaScript是不同的編程語(yǔ)言。1.Java是靜態(tài)類(lèi)型、編譯型語(yǔ)言,適用于企業(yè)應(yīng)用和大型系統(tǒng)。2.JavaScript是動(dòng)態(tài)類(lèi)型、解釋型語(yǔ)言,主要用于網(wǎng)頁(yè)交互和前端開(kāi)發(fā)。

See all articles