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

js implementiert das klassische Minesweeper-Spiel

In diesem Artikelbeispiel wird der spezifische Co...

Detaillierte Erläuterung der langsamen MySQL-Protokollabfrage

Langsame Protokollabfragefunktion Die Hauptfunkti...

Reines js, um den Effekt eines Karussells zu erzielen

In diesem Artikel wird der spezifische Code von j...

So verwenden Sie localStorage in JavaScript

Wenn Sie Entwickler sind und in die Welt von .NET...

Strategie zur Optimierung der Leistung von MySQL-Datenbankabfragen

Optimieren von Abfragen Verwenden der Explain-Anw...

So erstellen Sie eine Deep-Learning-Umgebung mit Python in einem Docker-Container

Überprüfen Sie die Virtualisierung im Task-Manage...

PageSpeed ​​Optimierung im Überblick

Ich glaube, dass das Internet zu einem immer unve...

JS Cross-Domain-XML – mit AS URLLoader

Kürzlich erhielt ich eine Anforderung für eine Fun...

JavaScript zum Erreichen aller oder umgekehrter Auswahlfunktionen

In diesem Artikel wird der spezifische JavaScript...

WePY-Cloud-Entwicklungspraxis im Linux-Befehlsabfrage-Applet

Hallo zusammen, heute werde ich mit Ihnen die WeP...

js, um eine einfache Lotteriefunktion zu erreichen

In diesem Artikel wird der spezifische Code von j...

Detaillierte Erläuterung des Docker-Visualisierungsgrafiktools Portainer

Inhaltsverzeichnis 1. Einführung in Portainer 2. ...

Ein netter HTML-Druckcode unterstützt das Umblättern

ylbtech_html_drucken HTML-Druckcode, unterstützt S...