So implementieren Sie die Unschärfefunktion von DIV

So implementieren Sie die Unschärfefunktion von DIV

Verwenden Sie Anti-Shake, um DIV verschwinden zu lassen, wenn die Maus herausbewegt wird

Da das Div-Tag selbst das Onblur-Ereignis nicht unterstützt, möchten wir, dass ein Div, das beim Klicken auf eine Schaltfläche angezeigt wird, verschwindet, wenn das Div den Fokus verliert. Dies lässt sich mit Onblur nicht erreichen.

Sie können jedoch onmouseout und Ereignisse verwenden, um DIV verschwinden zu lassen, wenn es den Fokus verliert. Bei der direkten Verwendung von onmouseout zum Erreichen des Verschwindens kann ein Problem auftreten: Wenn sich die Position Ihrer Schaltfläche und die Position des Popup-Divs nicht überschneiden, wird das onmouseout-Ereignis sofort ausgelöst, wenn sich die Maus bewegt, was nutzlos ist.

Verwenden Sie die Kombination aus Anti-Shake, Onmouseout und Onmouseover, um ein gutes Unschärfe-Erlebnis zu erzielen

    /**
     *Maus bewegt sich über Div-Ereignis*/
    Funktion moveOverEvent(ele,outTimer) {
        let overTimer = null;
        Rückgabefunktion(){
            clearTimeout(outTimer); //Wenn das Div nicht verschwindet und ein anderes Div einzieht, lösche das letzte Ereignis, das herausgezogen wurde. clearTimeout(overTimer); //Anti-Shake overTimer = setTimeout(()=>{        
                ele.style.display = "Block";
            },500);                     
        }
    }
    /**
     *Maus raus*/
    Funktion moveOutEvent(ele,outTimer) {
        Rückgabefunktion(){
            clearTimeout(outTimer); //Anti-Shake outTimer = setTimeout(()=>{ //Nach dem Aussteigen 500 ms warten, dann dieses Div verschwinden lassen
                ele.style.display = "keine";
            },500);
        }
    }

Dann habe ich zufällig entdeckt, dass das Unschärfeereignis durch Hinzufügen des Tabindex-Attributs zum Div implementiert werden kann. Der obige Code wurde daher möglicherweise umsonst geschrieben. (PS: Ich finde, dass die obige Erfahrung besser ist und viele Fehlberührungen reduziert)

//Nach dem Festlegen des Tabindex wird das Element standardmäßig mit einem Punkt versehen. Dies kann durch Festlegen von ouline = 0 entfernt werden (IE legt hidefocus = "true" fest).
<div tabindex="0" Umriss=0" hidefocus="true"></div>

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.

<<:  Lösung für die Baidu-Site-Suche, die https nicht unterstützt (getestet)

>>:  Prinzip des MySQL-Indexfehlers

Artikel empfehlen

JavaScript zum Erzielen eines einfachen Drag-Effekts

In diesem Artikel wird der spezifische JavaScript...

Docker verwendet ein einzelnes Image zum Zuordnen zu mehreren Ports

brauchen: Der Ressourcenserver der offiziellen We...

So überprüfen Sie die Speichernutzung unter Linux

Bei der Behebung von Systemproblemen, Anwendungsv...

Tutorial zum Verbinden und Verwenden von MySQL 8.0 im Maven-Projekt von IDEA

Schauen wir uns zunächst meine grundlegende Entwi...

Grafisches Tutorial zur Installation und Konfiguration von MySQL 8.0.18

Lernziele: Lernen Sie, MySQL-Datenbanken unter de...

Mehrere Möglichkeiten zum Ändern des MySQL-Passworts

Vorwort: Bei der täglichen Verwendung der Datenba...

HTML implementiert problemlos abgerundete Rechtecke

Frage: Wie erreiche ich mit Div+CSS und Positioni...

Mit vsftp einen FTP-Server unter Linux aufbauen (mit Parameterbeschreibung)

einführen In diesem Kapitel wird hauptsächlich de...

So verwenden Sie griechische Buchstaben in HTML-Seiten

Griechische Buchstaben sind eine sehr häufig verw...

Der Nginx-Reverseproxy leitet Anfragen von Port 80 an 8080 weiter.

Lassen Sie uns zunächst eine Reihe von Konzepten ...

Hinweise zu Linux-Systembefehlen

Dieser Artikel beschreibt die Linux-Systembefehle...