Genau wie die Maskierungsschicht gezeichnet ist, ist es sehr einfach herauszufinden, ob sie gezeichnet ist, aber es ist hier nicht so einfach. Darüber hinaus habe ich mich für eine problematischere DIV ausgewählt, um die vorhandene DIV anzuzeigen. Hier sind einige Punkte, die besondere Aufmerksamkeit benötigen:
1. Nachdem die Abdeckungsschicht erscheint, auch wenn sich die Maus nicht bewegt, befindet sie sich bereits auf der Deckschicht und gibt den Div -Bereich nicht mehr an. Achten Sie also auf die Überwachungsposition.
2. Onmouseout und Onmouseover werden beide sofort ausgelöst, was sehr wichtig ist;
3. In den tatsächlichen Anwendungen ist die Anzeige vorhandener Divs definitiv viel effektiver als die vorübergehende Schöpfung.
Ich würde den Code besser auf diese Weise einsetzen. Tatsächlich hat sich der vorherige Ort nicht viel verändert. Ich nehme nur die Änderungen auf, wo der Onmouseout -Hörer hinzugefügt wird?
var getonediv = function () {var div = document.createelement ("div"); Div.Style.position = "Absolute"; div.style.display = "block"; Div.Style.zindex = "10"; Div.Style.background = "Yellow"; Div.AdDeVentListener ("Mouseout", Funktion (Ereignis) {// Ich habe es hier hinzugefügt, und das Urteil der Überwachung ist fast das gleiche wie der vorherige Eintrag var x = event.clientx; var y = Ereignis.Clienty; links = x-Test.OffsetLeft; top = y-test.offsettop; rechts = testsetleft+test.offsetwidwidwidththex; boden = test.OffSETTOP.Offseth-y; Div.Style.Left = Test.OffsetLeft+"PX"; if (div.offsetLeft> = test.offsetLeft+test.offsetwidth) {ClearInterval (ChangeWidth2); } if (kleinst == 3) {} if (kleinstes == 4) {// Melden Sie sich links ab, Breite als globale Variable, diesmal reduziert es ständig div.style.left = test.offsetleft+"px"; div.style.top = test.offsettop+"px"; Div.Style.Height = test.offseteight+"px"; Div.Style.width = width+"px"; var changeWidth1 = setInterval (function () {if (div.offsetwidth <= 0) {ClearInterval (ChangeWidth1); check = true; // Dies ist auch kritischer} else {width = width-10; }}) return div; }Auf diese Weise wird die Auswirkung des Markierens und Eintritts erreicht. Wenn Sie es sich einfach ansehen, ist es tatsächlich in Form. Es muss jedoch gesagt werden, dass dies eine äußerst ungeschickte Implementierung ist. Wie viele Punkte wurden noch nicht hinzugefügt und wie viele Situationen wurden nicht berücksichtigt. Darüber hinaus das wiederholte Schreiben dieses Codes, diese Optimierung und Optimierung, noo ...