Точно так же, как нарисован маскирующий слой, очень просто выяснить, если он нарисован, но здесь не так просто. Более того, я выбрал более хлопотный Div, чтобы генерировать вместо того, чтобы отображать существующий Div. Вот несколько моментов, которые требуют особого внимания:
1. После появления слоя крышки, даже если мышь не перемещается, он уже находится на слое крышки и больше не дает область DIV, поэтому обратите внимание на положение мониторинга;
2. Onmouseout и Onmouseover сразу же запускаются, что очень важно;
3. В реальных приложениях отображение существующих DOV определенно намного более эффективно, чем временное создание;
Мне лучше поместить код таким образом. На самом деле, предыдущее место не сильно изменилось. Я записываю только изменения, где добавляется слушатель Onmouseout?
var getOneiv = function () {var div = document.createElement ("div"); div.style.position = "Absolute"; div.style.display = "block"; div.style.zindex = "10"; div.style.background = "желтый"; div.addeventlistener ("mouseout", function (event) {// я добавил его здесь, и суждение о мониторинге здесь почти такое же, как и предыдущая запись var x = event.clientx; var y = event.clienty; left = x-test.offsetleft; top = y-test.offsettop; right = test.offsetleft+test.offset-x; Bottom. div.style.left = test.oftsetleft+"px"; if (Div.OffSetleft> PERT.Offsetleft+Poffsitewidth) } if (ond == 3) {} if (ond == 4) {// подписать слева, ширина как глобальная переменная, на этот раз он постоянно уменьшает div.style.left = test.offsetleft+"px"; div.style.top = test.offsettop+"px"; div.style.height = test.offsetheight+"px"; div.style.width = width+"px"; var wirewIdth1 = setInterval (function () {if (div.OffsetWidth <= 0) {clearInterval (changeWidth1); Check = true; // Это также более критическое} else {width = width-10; div.style.width = width+"px";}}, 30); }}) return div; }Таким образом, эффект маркировки и входа достигается. Если вы просто посмотрите на это, это действительно в форме. Тем не менее, следует сказать, что это чрезвычайно неуклюжая реализация. Сколько очков еще не было добавлено, и сколько ситуаций не было рассмотрено. Кроме того, повторное написание этого кода, оптимизация и оптимизация, NOO ...