JavaScript zur Implementierung der Funktion zum Ändern des Avatars

JavaScript zur Implementierung der Funktion zum Ändern des Avatars

In diesem Artikel wird der spezifische JavaScript-Code zur Implementierung der Avatar-Änderungsfunktion zu Ihrer Information bereitgestellt. Der spezifische Inhalt ist wie folgt

Das Wichtigste ist, das jQuery-Plugin Cropper zu verwenden

1. Grundlegende Nutzungsschritte

1. Importieren Sie das Stylesheet cropper.css in den <head>:

<link rel="stylesheet" href="/assets/lib/cropper/cropper.css" />

2. Importieren Sie vor dem schließenden Tag von <body> die folgenden JS-Skripte der Reihe nach:

<script src="/assets/lib/jquery.js"></script>
<!-- Importieren Sie das Cropper-JS-Skript-->
<script src="/assets/lib/cropper/Cropper.js"></script>
<script src="/assets/lib/cropper/jquery-cropper.js"></script>

3. Definieren Sie die folgende HTML-Struktur:

<!-- Bildzuschnitt und Vorschaubereich in der ersten Zeile-->
   <div Klasse="Zeile1">
         <!-- Bildzuschneidebereich-->
            <div Klasse="cropper-box">
                    <!-- Dieses img-Tag ist sehr wichtig, es wird zukünftig als Zuschneidebereich initialisiert-->
                    <img id="Bild" src="/assets/images/sample.jpg" />
             </div>
             <!-- Bildvorschaubereich-->
             <div Klasse="Vorschau-Box">
                    <div>
                        <!-- Vorschaubereich mit einer Breite und Höhe von 100px -->
                        <div Klasse="img-preview w100"></div>
                        <p class="size">100 x 100</p>
                    </div>
                    <div>
                        <!-- Vorschaubereich mit einer Breite und Höhe von 50px -->
                        <div Klasse="img-preview w50"></div>
                        <p class="size">50 x 50</p>
                    </div>
                </div>
            </div>
 
 <!-- Schaltflächenbereich der zweiten Reihe-->
<div Klasse="Zeile2">
         <button type="button" class="layui-btn">Hochladen</button>
         <button type="button" class="layui-btn layui-btn-danger">OK</button>
</div>

4. CSS-Stil:

/* Breite des Kartenkörperbereichs festlegen */
 
.layui-Kartenkörper {
    Breite: 500px;
}
 
 
/* Den Stil der Schaltflächenzeile festlegen */
 
.Zeile2 {
    Anzeige: Flex;
    Inhalt ausrichten: Flex-Ende;
    Rand oben: 20px;
}
 
 
/* Den Stil des Clipping-Bereichs festlegen */
 
.cropper-box {
    Breite: 350px;
    Höhe: 350px;
    Hintergrundfarbe: Cyan;
    Überlauf: versteckt;
}
 
 
/* Legt den Stil des ersten Vorschaubereichs fest */
 
.w100 {
    Breite: 100px;
    Höhe: 100px;
    Hintergrundfarbe: grau;
}
 
 
/* Legt den Stil des zweiten Vorschaubereichs fest */
 
.w50 {
    Breite: 50px;
    Höhe: 50px;
    Hintergrundfarbe: grau;
    Rand oben: 50px;
}
 
 
/* Legen Sie den Stil des Textes unter dem Vorschaubereich fest */
 
.Größe {
    Schriftgröße: 12px;
    Farbe: grau;
    Textausrichtung: zentriert;
}
 
 
/* Den Stil der Bildzeile festlegen */
 
.Zeile1 {
    Anzeige: Flex;
}
 
 
/* Den Stil des Vorschaufensterbereichs festlegen */
 
.Vorschau-Box {
    Anzeige: Flex;
    Flex-Richtung: Spalte;
    biegen: 1;
    Elemente ausrichten: zentrieren;
}
 
 
/* Legen Sie den Stil des Bildvorschaubereichs fest */
 
.img-Vorschau {
    Überlauf: versteckt;
    Randradius: 50 %;
}

5. Importieren Sie Ihre eigene jS-Datei und schreiben Sie den folgenden Inhalt, um einen grundlegenden Trimmeffekt zu erzielen:

$(Funktion() {
    // 1.1 Holen Sie sich das DOM-Element des Zuschneidebereichs var $image = $('#image');
    // 1.2 Konfigurationsoptionen const options = {
        // Seitenverhältnis aspectRatio: 1,
        //Geben Sie den Vorschaubereich an preview: '.img-preview'
    };
 
    // 1.3 Zuschneidebereich erstellen$image.cropper(options);
})

Nach Abschluss der oben genannten Vorbereitungen können Sie die folgenden Ergebnisse erzielen

2. Ersetzen Sie das zugeschnittene Bild

1. Fügen Sie ein Eingabefeld zum Hochladen von Dateien hinzu und achten Sie darauf, das Eingabefeld auszublenden:

<!-- Schaltflächenbereich der zweiten Reihe-->
<div Klasse="Zeile2">
<!-- Über das Accept-Attribut können Sie festlegen, welchen Dateityp der Benutzer auswählen darf-->
<input type="file" id="file" accept="image/png,image/jpeg" />
<button type="button" class="layui-btn" id="btnChooseImage">Hochladen</button>
<button type="button" class="layui-btn layui-btn-danger" id='btnUpload'>OK</button>
</div>

2. Binden Sie das Änderungsereignis an das Dateiauswahlfeld

// Binden Sie das Änderungsereignis an das Dateiauswahlfeld // Das Änderungsereignis wird immer dann ausgelöst, wenn sich die ausgewählte Datei ändert $('#file').on('change', function(e) {
        // Vom Benutzer ausgewählte Datei abrufen var filelist = e.target.files;
        if (Dateiliste.Länge === 0) {
            return layer.msg('Bitte wählen Sie ein Foto aus!');
        }
        // 1. Holen Sie sich die vom Benutzer ausgewählte Datei var file = e.target.files[0];
        // 2. Konvertieren Sie die Datei in einen Pfad var imgURL = URL.createObjectURL(file);
        // 3. Reinitialisierung des Clipping-Bereichs $image
            .cropper('destroy') // Zerstöre den alten Zuschneidebereich.attr('src', imgURL) // Setze den Bildpfad zurück.cropper(options) // Initialisiere den Zuschneidebereich neu})

3. Klickereignis an Bestätigungsschaltfläche binden

// Klickereignis an Bestätigungsschaltfläche binden$('#btnUpload').on('click', function() {
 // 1. Um den zugeschnittenen Avatar des Benutzers zu erhalten, var dataURL = $image
            .cropper('getCroppedCanvas', { // Canvas erstellen Leinwandbreite: 100,
                Höhe: 100
            })
            .toDataURL('image/png') // Konvertiere den Inhalt auf der Canvas-Leinwand in einen String im Base64-Format // 2. Rufe die Schnittstelle auf, um den Avatar auf den Server hochzuladen $.ajax({
            Methode: 'POST',
            URL: '/mein/Update/Avatar',
            Daten: {
                Avatar: Daten-URL
            },
            Erfolg: Funktion (Res) {
                wenn (res.status !== 0) {
                    return layer.msg('Ändern des Avatars fehlgeschlagen!');
                }
                layer.msg('Avatar erfolgreich geändert!');
                window.parent.getUserInfo();
            }
 })

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Sprechen Sie über den Unterschied zwischen Mod und Rest in Java BigInteger
  • Java ResultSet-Fallstudie
  • Detaillierte Erläuterung der Installation und Konfiguration des Java SDK
  • Java BigDecimal Divisionsgenauigkeit und formatierte Ausgabe
  • Fallstudie zum Java-DFA-Algorithmus
  • Hochpräzise Berechnungsmethode für große Zahlen in Java
  • Hochpräzise Division in Java, die N Dezimalstellen erfordert
  • Detaillierte Erklärung zu Java StackOverflowError

<<:  Beispielanalyse von Linux-Dateiverwaltungsbefehlen [Anzeige, Ansicht, Statistiken usw.]

>>:  MySQL-Anmeldefehler beheben: „Zugriff für Benutzer ‚root‘@‚localhost‘ verweigert“

Artikel empfehlen

JavaScript zum Erreichen eines dynamischen Farbwechsels der Tabelle

In diesem Artikel wird der spezifische Code für J...

Tutorial zu HTML-Tabellen-Tags (27): Zell-Hintergrundbild-Attribut BACKGROUND

Wir können ein Hintergrundbild für die Zelle fest...

Reiner CSS-Code zum Erzielen von Fluss und dynamischen Linieneffekten

Ideen: Eine äußere Box legt den Hintergrund fest;...

jQuery-Plugin für ein nahtloses Karussell

Ein nahtloses Karussell ist ein sehr häufiger Eff...

Der Unterschied und die Wahl zwischen Datum und Uhrzeit und Zeitstempel in MySQL

Inhaltsverzeichnis 1 Unterschied 1.1 Raumbelegung...

Verwenden Sie CSS, um einen 3D-Fotowandeffekt zu erstellen

Verwenden Sie CSS, um eine 3D-Fotowand zu erstell...

Allgemeine Überlegungen zum Erstellen eines Hadoop 3.2.0-Clusters

Ein Port ändert sich In Version 3.2.0 beträgt der...

Lösung für den MySQL-Fehlercode 1064

Wenn die Wörter in der SQL-Anweisung mit den Schl...

Responsive Webdesign lernen (2) — Können Videos responsiv gemacht werden?

Rezension der vorherigen Folge: Gestern haben wir...

Detaillierte Schritte zum Herunterladen und Installieren von Tomcat unter Linux

Wenn Sie gerade erst mit Linux in Berührung gekom...

Zeigen Sie die vom Prozess in Linux belegte Portnummer an

Für Linux-Systemadministratoren ist es von entsch...

jQuery realisiert die Shuttle-Box-Funktion

In diesem Artikelbeispiel wird der spezifische Co...