


Hinzufügen eines „Schütteln'-Effekts zu Anmelde-Popovers für einen visuellen Fehlerhinweis
Manchmal können subtile Designelemente einen großen Unterschied in der Benutzererfahrung machen. Anstatt herkömmliche Fehlermeldungen anzuzeigen, liefert ein „Schütteln“-Effekt bei einem Anmelde-Popover einen klaren und unmittelbaren Hinweis darauf, dass etwas schief gelaufen ist. Dieses Tutorial führt Sie durch die Implementierung dieser Funktionalität mit Vanilla JavaScript, CSS-Animationen und der Open-Source-Bibliothek Tippy.js.
Unser Ziel ist:
- Erstellen Sie ein Login-Popover mit Tippy.js.
- Fügen Sie den „Rütteleffekt“ hinzu, wenn Fehler auftreten.
- Die Animation wird automatisch zurückgesetzt, sobald der Shake endet.
Lass uns eintauchen!
Teil 1: Einrichten der Shaking-Animation mit CSS
Wir beginnen mit der Definition einer wiederverwendbaren CSS-Animation für den Shake-Effekt. Die folgende @keyframes-Regel ahmt ein seitliches Schütteln nach:
@keyframes shaking { 10%, 90% { transform: translate3d(-1px, 0, 0); } 20%, 80% { transform: translate3d(2px, 0, 0); } 30%, 50%, 70% { transform: translate3d(-4px, 0, 0); } 40%, 60% { transform: translate3d(4px, 0, 0); } } .shake { animation: shaking 0.82s cubic-bezier(.36,.07,.19,.97) both; }
- Keyframe-Details: Die Translate3d-Eigenschaft verschiebt das Popover leicht nach links und rechts, um den Schütteleffekt zu erzeugen.
- Wiederverwendbare Klasse: Das Anwenden der Shake-Klasse auf ein beliebiges Element löst die Animation aus.
Teil 2: Erstellen des Login-Popovers mit Tippy.js
Wir verwenden Tippy.js, um ein anklickbares Login-Popover zu erstellen. Das Popover enthält Folgendes:
- Ein E-Mail-Eingabefeld.
- Eine Schaltfläche „Anmelden“.
- Ereignis-Listener zur Handhabung der Anmeldelogik und des Shake-Effekts.
Hier ist das Kern-JavaScript zum Einrichten des Popovers:
Schritt 1: Der Anmeldekurs
APP.Signin = class { constructor($target) { this.values = {}; // Store any required state if ($target) this.$target = $target; // The DOM element triggering the popover this.init(); // Initialize the popover return this; } // Trigger the shake animation shake() { this.$tippy.classList.add('shake'); return this; } // Handle Sign-In button clicks onSigninClicked(event) { event.preventDefault(); // Retrieve the entered email let email = document.querySelector('.app-signin-email').value; // Error and success handlers let _onError = () => this.shake(); let _onSuccess = (response) => { if (response.errors.length) { this.shake(); // Shake on error } else { // Handle successful login console.log('Login successful!'); } }; // Simulate a backend login request let form_data = new FormData(); form_data.append('method', 'quickSignIn'); form_data.append('email', email); axios({ method: 'POST', url: 'path/to/server', data: form_data, headers: { 'content-type': 'application/x-www-form-urlencoded;charset=UTF-8' }, }) .then((response) => (typeof response.data === 'string' ? JSON.parse(response.data) : response.data)) .then(_onSuccess) .catch(_onError); } // Define the HTML content of the popover getContent() { return ` <div> <hr> <p><strong>2228+ FREE</strong> <u><b><strong>RESOURCES</strong></b></u> <strong>FOR DEVELOPERS!! ❤️</strong> ?? <strong><sub><strong>(updated daily)</strong></sub></strong></p> <blockquote> <p>1400+ Free HTML Templates<br><br> 359+ Free News Articles<br><br> 69+ Free AI Prompts<br><br> 323+ Free Code Libraries<br><br> 52+ Free Code Snippets & Boilerplates for Node, Nuxt, Vue, and more!<br><br> 25+ Free Open Source Icon Libraries</p> </blockquote> <p>Visit dailysandbox.pro for free access to a treasure trove of resources!</p> <hr> <h3> Part 3: Wiring It All Together </h3> <p><strong>Simulated Backend</strong> : If you don’t have a real server, mock responses with a promise:<br> </p> <pre class="brush:php;toolbar:false">const mockServer = (email) => new Promise((resolve, reject) => { setTimeout(() => { if (email === 'test@email.com') resolve({ errors: [] }); else reject({ errors: ['Invalid email'] }); }, 500); });
CSS für das Popover: Stellen Sie sicher, dass das Popover zu Ihrem Design passt. Hier ist eine einfache Einrichtung:
.app-signin { display: flex; flex-direction: column; gap: 10px; } .app-signin-email { width: 100%; padding: 10px; font-size: 1rem; border: 1px solid #ccc; border-radius: 4px; } .app-signin-btn { background-color: #007bff; color: white; text-align: center; padding: 10px; border-radius: 4px; cursor: pointer; } .app-signin-btn:hover { background-color: #0056b3; }
HTML-Triggerelement: Fügen Sie Ihrem HTML ein Triggerelement hinzu:
<schaltfl> <hr> <h3> Teil 4: Testen Sie den Schütteleffekt </h3> <ol> <li>Klicken Sie auf die Schaltfläche <strong>Anmelden</strong>, um das Popover zu öffnen.</li> <li>Geben Sie eine ungültige E-Mail-Adresse ein und senden Sie sie ab. Beobachten Sie, wie das Popover wackelt, was auf einen Fehler hinweist.</li> <li>Geben Sie eine gültige E-Mail-Adresse ein und Sie sehen kein Wackeln – Erfolg!</li> </ol> <hr> <h3> Fazit: Ein benutzerfreundlicher Fehlerhinweis </h3> <p>Der Schütteleffekt verbessert das Benutzererlebnis, indem er eine klare, intuitive Fehleranzeige bietet, ohne die Benutzeroberfläche mit zusätzlichen Meldungen zu überladen. In Kombination mit Tippy.js für ein elegantes Popover und Vanilla JS für Interaktivität ist dieses Setup sauber, funktional und optisch ansprechend.</p> <p>Experimentieren und optimieren Sie weiter – denn bei großartigem UX kommt es auf die Details an!</p> <p>Weitere Tipps zur Webentwicklung finden Sie unter <strong>DailySandbox</strong> und abonnieren Sie unseren <strong>kostenlosen Newsletter</strong>, um immer auf dem Laufenden zu bleiben!</p> </schaltfl>
Das obige ist der detaillierte Inhalt vonHinzufügen eines „Schütteln'-Effekts zu Anmelde-Popovers für einen visuellen Fehlerhinweis. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Die Tatsache, dass die Ankerpositionierung die HTML-Quellenreihenfolge vermeidet, ist so CSS-y, weil sie eine weitere Trennung von Bedenken zwischen Inhalt und Präsentation ist.

In Artikel wird die CSS -Margin -Eigenschaft erörtert, insbesondere "Margin: 40px 100px 120px 80px", seine Anwendung und Auswirkungen auf das Webseitenlayout.

In dem Artikel werden die CSS -Grenzeigenschaften erörtert und sich auf Anpassung, Best Practices und Reaktionsfähigkeit konzentriert. Hauptargument: Border-Radius ist für reaktionsschnelle Designs am effektivsten.

In dem Artikel werden CSS -Hintergrundeigenschaften, deren Verwendungszwecke für die Verbesserung des Website -Designs und die zu vermeidenen Fehler erläutert. Der Hauptaugenmerk liegt auf reaktionsschnellem Design unter Verwendung der Hintergrundgröße.

In Artikel werden CSS HSL -Farben, ihre Verwendung im Webdesign und die Vorteile gegenüber RGB erörtert. Der Schwerpunkt liegt auf der Verbesserung des Designs und der Zugänglichkeit durch intuitive Farbmanipulation.

In dem Artikel wird die Verwendung von Kommentaren in CSS erörtert, in denen Einzellinien- und Multi-Line-Kommentarsyntaxe beschrieben werden. Es wird argumentiert, dass die Kommentare die Lesbarkeit, die Wartbarkeit und die Zusammenarbeit von Code verbessern, sich jedoch auf die Leistung der Website auswirken können, wenn sie nicht ordnungsgemäß verwaltet werden.

In dem Artikel werden CSS -Selektoren, ihre Typen und die Verwendung zum Styling von HTML -Elementen erörtert. Es vergleicht ID- und Klassenauswahlern und befasst sich mit Leistungsproblemen mit komplexen Selektoren.

In dem Artikel wird die CSS -Priorität erläutert und sich auf Inline -Stile mit der höchsten Spezifität konzentriert. Es erklärt Spezifitätsniveaus, übergeordnete Methoden und Debugging -Tools zur Verwaltung von CSS -Konflikten.


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

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

VSCode Windows 64-Bit-Download
Ein kostenloser und leistungsstarker IDE-Editor von Microsoft

SublimeText3 Englische Version
Empfohlen: Win-Version, unterstützt Code-Eingabeaufforderungen!

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

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

SecLists
SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.
