


Key Takeaways
- Das HTML5 -Fortschritts -Tag, das Attribute für den aktuellen Fortschrittswert und -wert nach Abschluss liefert, kann zum Erstellen einer grafischen Datei -Upload -Fortschrittsleiste verwendet werden, obwohl der Autor ein Standard -P -Tag für weitere Styling -Optionen verwendet hat.
- Die Fortschrittsleiste kann mit CSS gestylt werden, wobei die grüne Balken als Grafik doppelt so breit wie das Fortschrittselement erstellt wurde, und eine feste Farbe, die beim Erfolg des Uploads angewendet wird oder fehlschlägt.
- Die Fortschrittsleiste wird in JavaScript implementiert, indem die Funktion uploadFile (), eine Ereignishandlerfunktion „Fortschritt“ hinzugefügt wird, die die neue Hintergrundposition berechnet, und eine Klasse von „Erfolg“ oder „Fehler“ beim Abschluss des Uploads festgelegt wird.
Das HTML5 -Fortschritts -Tag
Das neue Fortschritts -Tag bietet zwei Attribute:- Wert: Der aktuelle Fortschrittswert
- max: Der Wert nach Abschluss
Styling der Fortschrittsleiste
Unser P -Tag zeigt den Dateinamen in einem ausrandeten Box mit einer Größe von 250px an:#progress p { display: block; width: 240px; padding: 2px 5px; margin: 2px 0; border: 1px inset #446; border-radius: 5px; }Für die grüne Balken selbst habe ich eine Grafik erstellt, die doppelt so breit war wie das Fortschrittselement (500px). Der linke 250px ist gefärbt und der rechte 250px ist transparent:

- Fortschritt beginnt mit „Hintergrundposition: 100% 0“, d. H. 100% verbleibend
- Fortschritt endet mit "Hintergrundposition: 0% 0", d. H. Nichts verbleibt
- „Hintergrundposition: 30% 0“ bedeutet, dass 70% abgeschlossen wurden:
#progress p { display: block; width: 240px; padding: 2px 5px; margin: 2px 0; border: 1px inset #446; border-radius: 5px; }
Implementierung der Fortschrittsleiste in JavaScript
Wir können jetzt unsere Funktion uploadFile () ändern. Wenn eine gültige JPG -Datei auftritt, fügen wir ein neues P -Tag an das Element #Progress hinzu und fügen den Dateinamen als Text hinzu:#progress p.success { background: #0c0 none 0 0 no-repeat; } #progress p.failed { background: #c00 none 0 0 no-repeat; }Wir benötigen jetzt eine Ereignishandlerfunktion „Fortschritt“. Dies empfängt ein Objekt mit .LADEd und .Totale Eigenschaften - Eine kleine Mathematik ist erforderlich, um die neue Hintergrundzahlung zu berechnen:
// upload JPEG files function UploadFile(file) { var xhr = new XMLHttpRequest(); if (xhr.upload && file.type == "image/jpeg" && file.size Wenn Sie mit AJAX vertraut sind, werden Sie den Event -Handler von OnreadyStatechange erkennen. Dies bestimmt, wann das Upload abgeschlossen ist und die Fortschrittsleiste entsprechend stilft (legt eine Klasse von „Erfolg“ fest, wenn der Upload erfolgreich war): <pre class="brush:php;toolbar:false"> // progress bar xhr.upload.addEventListener("progress", function(e) { var pc = parseInt(100 - (e.loaded / e.total * 100)); progress.style.backgroundPosition = pc + "% 0"; }, false);Schließlich senden wir die Datei wie zuvor an unseren PHP -Server:
// file received/failed xhr.onreadystatechange = function(e) { if (xhr.readyState == 4) { progress.className = (xhr.status == 200 ? "success" : "failure"); } };Wir haben endlich eine Lösung, die:
- Ermöglicht das Ziehen und Ablegen von Dateien auf ein Webseitenelement
- Analysen und Zeigt fallengelassene Dateien auf dem Client an
- Asynchron lädt Dateien auf den Server hoch
- zeigt eine grafische Fortschrittsleiste während des Uploads
- verwendet progressive Verbesserung, um die meisten Browser
- zu unterstützen wird codiert, ohne eine JavaScript -Bibliothek zu benötigen.
Bitte betrachten Sie die Demonstrationsseite. Beachten Sie jedoch, dass dies auf einem Server ohne PHP gehostet wird, sodass Datei -Uploads nicht auftreten. Um es zu testen, laden Sie die Dateien bitte herunter, um den Code zu untersuchen und auf Ihrem eigenen Server zu hosten. Ich hoffe, Sie haben diese Serie genossen und überlegen, wie Datei Drag and Drop Ihrer Webanwendung helfen könnte. Wenn Sie diesen Beitrag genossen haben, werden Sie Lernable lieben. Der Ort, um frische Fähigkeiten und Techniken von den Meistern zu erlernen. Mitglieder erhalten sofortigen Zugriff auf alle E -Books und interaktiven Online -Kurse von SitePoint, z. B. Lernen HTML5.
häufig gestellte Fragen (FAQs) zu HTML5 JavaScript -Datei Upload Progress -LeisteWie kann ich das Erscheinungsbild der Fortschrittsleiste anpassen? Sie können die Farbe, Höhe, Breite und sogar die Form der Fortschrittsbalken ändern. Um beispielsweise die Farbe zu ändern, können Sie die Eigenschaft „Hintergrundfarbe“ verwenden. Sie können auch das Grundstück „Grenze-Radius“ verwenden, um die Fortschrittsleiste kreisförmig oder abgerundet zu machen. Denken Sie daran, die richtige Klasse oder ID in Ihrem CSS abzurichten, um diese Änderungen auf die Fortschrittsleiste anzuwenden. Bar für mehrere Datei -Uploads. Sie müssen jedoch den JavaScript -Code ändern, um mehrere Dateien zu verarbeiten. Sie können das Attribut "Multiple" im Eingabetag verwenden, um die Auswahl mehrerer Dateien zu ermöglichen. In Ihrem JavaScript müssen Sie dann die Dateien durchlaufen und individuell hochladen, wodurch die Fortschrittsleiste für jede Datei aktualisiert wird.
Wie kann ich den Prozentsatz des Hochladens in der Fortschrittsleiste anzeigen? 'Event -Hörer. Sie können den Prozentsatz berechnen, indem Sie den geladenen Betrag durch den Gesamtbetrag dividieren und mit 100 multiplizieren. Dann setzen Sie diesen Wert als Textinhalt des Fortschrittsleistenelements. ? Ein häufiger Grund ist, dass der Hörer des „Fortschritts“ -Ergners nicht korrekt eingerichtet ist. Stellen Sie sicher, dass Sie den Ereignishörer dem richtigen Objekt hinzugefügt haben und dass der Ereignisname korrekt geschrieben ist. Überprüfen Sie auch, ob der Code im Ereignishörer die Wert- und Max -Attribute der Fortschrittsleiste korrekt aktualisiert. Ja, Sie können diese Fortschrittsleiste mit anderen Programmiersprachen wie PHP oder Python verwenden. Die Fortschrittsleiste wird mit HTML und JavaScript implementiert, die clientseitige Technologien sind und mit jeder serverseitigen Technologie interagieren können. Sie müssen die AJAX-Anforderung im JavaScript-Code ändern, um die Datei an Ihr serverseitiges Skript zu senden, und Ihr serverseitiges Skript muss die Datei-Upload verarbeiten und die Fortschrittsinformationen zurückgeben. Ich mache den Fortschrittsbalken reibungslos animieren? Fügen Sie dem Fortschrittsbalkenelement in Ihrem CSS eine "Übergangseigenschaft" hinzu, wobei die Eigenschaft zum Übergang (z. B. "Breite"), die Dauer des Übergangs und die Zeitfunktion (z. B. "linear", "Easy-In" angegeben wird , 'Easy-Out'). Dieses Ereignis wird abgefeuert, wenn während des Uploads ein Fehler auftritt. Im Ereignishörer können Sie dem Benutzer eine Fehlermeldung anzeigen und die Fortschrittsleiste zurücksetzen. Datei hochladen und die Fortschrittsleiste zurücksetzen. Um das Upload des Datei -Uploads zu stornieren, können Sie die Methode "abortieren" im XMLHTTPREquest -Objekt aufrufen. Um die Fortschrittsleiste zurückzusetzen, können Sie sein Wertattribut auf 0 festlegen. Vor dem Senden der AJAX -Anfrage. Sie können die Größe der Datei aus der Eigenschaft "Größe" des Dateiobjekts erhalten. Wenn sie Ihr Limit überschreitet, zeigen Kann ich diese Fortschrittsleiste für andere Arten von AJAX -Anforderungen verwenden, nicht nur für Dateien -Uploads? Das Ereignis „Fortschritt“ wird für jede Art von AJAX -Anforderung entlassen, nicht nur für Dateien -Uploads. Sie müssen den JavaScript -Code ändern, um die entsprechende AJAX -Anforderung zu senden und die Fortschrittsleiste basierend auf dem Fortschritt der Anfrage zu aktualisieren.
Das obige ist der detaillierte Inhalt vonSo erstellen Sie grafische Dateien hochladen Fortschrittsbalken in HTML5 und JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Detaillierte Erläuterung der Methode für JavaScript -Zeichenfolge und FAQ In diesem Artikel werden zwei Möglichkeiten untersucht, wie String -Zeichen in JavaScript ersetzt werden: Interner JavaScript -Code und interne HTML für Webseiten. Ersetzen Sie die Zeichenfolge im JavaScript -Code Die direkteste Möglichkeit ist die Verwendung der Ersatz () -Methode: str = str.replace ("find", "ersetzen"); Diese Methode ersetzt nur die erste Übereinstimmung. Um alle Übereinstimmungen zu ersetzen, verwenden Sie einen regulären Ausdruck und fügen Sie das globale Flag G hinzu:: STR = Str.Replace (/fi

In Artikel werden JavaScript -Bibliotheken erstellt, veröffentlicht und aufrechterhalten und konzentriert sich auf Planung, Entwicklung, Testen, Dokumentation und Werbestrategien.

In dem Artikel werden Strategien zur Optimierung der JavaScript -Leistung in Browsern erörtert, wobei der Schwerpunkt auf die Reduzierung der Ausführungszeit und die Minimierung der Auswirkungen auf die Lastgeschwindigkeit der Seite wird.

Bringen Sie Matrix -Filmeffekte auf Ihre Seite! Dies ist ein cooles JQuery -Plugin, das auf dem berühmten Film "The Matrix" basiert. Das Plugin simuliert die klassischen grünen Charakter-Effekte im Film und wählen Sie einfach ein Bild aus, und das Plugin verwandelt es in ein mit numerischer Zeichen gefüllte Bild im Matrix-Stil. Komm und probiere es aus, es ist sehr interessant! Wie es funktioniert Das Plugin lädt das Bild auf die Leinwand und liest die Pixel- und Farbwerte: Data = ctx.getImagedata (x, y, setting.grainize, setting.grainesize) .data Das Plugin liest geschickt den rechteckigen Bereich des Bildes und berechnet JQuery, um die durchschnittliche Farbe jedes Bereichs zu berechnen. Dann verwenden Sie

In dem Artikel werden effektives JavaScript -Debuggen mithilfe von Browser -Entwickler -Tools, der Schwerpunkt auf dem Festlegen von Haltepunkten, der Konsole und der Analyse der Leistung erörtert.

In diesem Artikel werden Sie mit der JQuery -Bibliothek ein einfaches Bildkarousel erstellen. Wir werden die BXSLIDER -Bibliothek verwenden, die auf JQuery basiert und viele Konfigurationsoptionen zum Einrichten des Karussells bietet. Heutzutage ist Picture Carousel zu einem Muss auf der Website geworden - ein Bild ist besser als tausend Wörter! Nachdem Sie sich entschieden haben, das Bild -Karussell zu verwenden, ist die nächste Frage, wie Sie es erstellen. Zunächst müssen Sie hochwertige, hochauflösende Bilder sammeln. Als nächstes müssen Sie ein Bildkarousel mit HTML und einem JavaScript -Code erstellen. Es gibt viele Bibliotheken im Web, die Ihnen helfen können, Karussell auf unterschiedliche Weise zu erstellen. Wir werden die Open -Source -BXSLIDER -Bibliothek verwenden. Die BXSLIDER -Bibliothek unterstützt reaktionsschnelles Design, sodass das mit dieser Bibliothek gebaute Karussell an alle angepasst werden kann

Wichtige Punkte erweiterte strukturierte Tagging mit JavaScript können die Zugänglichkeit und Wartbarkeit von Webseiteninhalten erheblich verbessern und gleichzeitig die Dateigröße reduzieren. JavaScript kann effektiv verwendet werden, um HTML -Elementen dynamisch Funktionen hinzuzufügen, z. Durch das Integrieren von JavaScript in strukturierte Tags können Sie dynamische Benutzeroberflächen erstellen, z. B. Tabletten, für die keine Seiten -Aktualisierung erforderlich ist. Es ist entscheidend sicherzustellen, dass JavaScript -Verbesserungen die grundlegende Funktionalität von Webseiten nicht behindern. Erweiterte JavaScript -Technologie kann verwendet werden (

Datensätze sind äußerst wichtig für den Aufbau von API -Modellen und verschiedenen Geschäftsprozessen. Aus diesem Grund ist das Import und Exportieren von CSV eine häufig benötigte Funktionalität. In diesem Tutorial lernen Sie, wie Sie eine CSV-Datei in einem Angular herunterladen und importieren.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Dreamweaver CS6
Visuelle Webentwicklungstools

MantisBT
Mantis ist ein einfach zu implementierendes webbasiertes Tool zur Fehlerverfolgung, das die Fehlerverfolgung von Produkten unterstützen soll. Es erfordert PHP, MySQL und einen Webserver. Schauen Sie sich unsere Demo- und Hosting-Services an.

ZendStudio 13.5.1 Mac
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

DVWA
Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software