Assim como a camada de mascaramento é desenhada, é muito simples descobrir se for desenhado, mas não é tão simples aqui. Além disso, escolhi uma div mais problemática para gerar em vez de exibir a div. Aqui estão alguns pontos que precisam de atenção especial:
1. Depois que a camada de tampa aparecer, mesmo que o mouse não se mova, ele já está na camada de capa e não fornece mais a área da div, então preste atenção à posição de monitoramento;
2. OnMouseOut e OnMouseOver são acionados instantaneamente, o que é muito importante;
3. Nas aplicações reais, a exibição dos divs existentes é definitivamente muito mais eficaz que a criação temporária;
É melhor eu colocar o código dessa maneira. De fato, o local anterior não mudou muito. Eu só gravo as alterações, que é onde o ouvinte OnMouseOut é adicionado?
var gotonediv = function () {var div = document.createElement ("div"); div.style.Position = "Absolute"; div.style.display = "bloco"; div.style.zindex = "10"; div.style.background = "amarelo"; div.addeventListener ("mouseout", function (event) {// adicionei aqui, e o julgamento do monitoramento aqui é quase o mesmo que a entrada anterior var x = event.clientX; var y = event.clienty; esquerd = x-test.offsetleft; top = y-teste.OffSettop; direita = test.offsetfase. Bottom = Test.OffsetTop+Test.OffsetHeight-y; div.style.left = test.offsetleft+"px"; if (div.offsetleft> = test.offsetleft+test.offsetWidth) {ClearInterval (ChangeWidth2); } if (menos == 3) {} if (menos == 4) {// Signing à esquerda, largura como uma variável global, desta vez ele está constantemente reduzindo o div.style.left = test.offsetleft+"px"; div.style.top = test.offsettop+"px"; div.style.Height = test.offsetHeight+"px"; div.style.width = width+"px"; var alteraçãowidth1 = setInterval (function () {if (div.offsetWidth <= 0) {clearInterval (alteraçãowidth1); check = true; // Isso também é mais crítico} else {width = width-10; div.style.width = largura+"px";}}, 30); }}) retornar div; }Dessa forma, o efeito de marcar e entrar é alcançado. Se você olhar simplesmente, está realmente em forma. No entanto, deve -se dizer que essa é uma implementação extremamente desajeitada. Quantos pontos ainda não foram adicionados e quantas situações não foram consideradas. Além disso, a redação repetida deste código, otimização e otimização, noo ...