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

So installieren Sie Mysql5.7 in Centos6

Umfeld Centos 6.6 MySQL 5.7 Installieren Falls da...

Zusammenfassung des Wissens zu CSS-Injection

Moderne Browser erlauben nicht mehr, JavaScript i...

So fügen Sie eindeutige Indizes für Felder in MySQL hinzu und löschen sie

1. PRIMARY KEY hinzufügen (Primärschlüsselindex) ...

JavaScript zum Erzielen eines Vollbild-Seiten-Scrolleffekts

Nachdem ich mit der Lektüre von JavaScript DOM fe...

Detaillierte Beispiele zur Verwendung der Box-Shadow-Eigenschaft in CSS3

CSS enthält viele Attribute. Manche Attribute wer...

Upgrade der Docker-Version von MySQL 5.7 auf MySQL 8.0.13, Datenmigration

Inhaltsverzeichnis 1. Sichern Sie die alten MySQL...

So ändern Sie MySQL-Berechtigungen, um Hosts den Zugriff zu ermöglichen

Aktivieren Sie Remote-Zugriffsrechte für MySQL My...

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

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

Tutorial zur HTML-Tabellenauszeichnung (2): Tabellenrahmenattribute BORDER

Standardmäßig beträgt der Rand der Tabelle 0 und ...

Implementierung eines CSS-Textschatten-Effekts zur allmählichen Unschärfe

Textschatten Fügen Sie dem Text einen Schatten hi...