マスキング層が描かれているように、描画されるかどうかを把握するのは非常に簡単ですが、ここではそれほど単純ではありません。さらに、既存のdivを表示する代わりに生成するために、より厄介なdivを選択しました。ここに特別な注意が必要ないくつかのポイントがあります:
1.カバー層が表示された後、マウスが動かなくても、すでにカバー層上にあり、Div領域が与えなくなっているため、監視位置に注意を払ってください。
2。オンマウスアウトとオンマウスオーバーはどちらも即座にトリガーされますが、これは非常に重要です。
3。実際のアプリケーションでは、既存のDIVの表示は、一時的な作成よりもはるかに効果的です。
このようにコードを置いた方が良いでしょう。実際、前の場所はあまり変わっていません。変更のみを記録しますが、オンマウスアウトリスナーが追加された場所はどれですか?
var getonediv = function(){var div = document.createelment( "div"); div.style.position = "absolute"; div.style.display = "block"; div.style.zindex = "10"; div.style.background = "yellow"; div.addEventListener("mouseout",function(event){//I added it here, and the judgment of monitoring here is almost the same as the previous entry var x=event.clientX; var y=event.clientY; left=x-test.offsetLeft; top=y-test.offsetTop; right=test.offsetLeft+test.offsetWidth-x; bottom.offsettop.push(右); div.Style.Left.OffsetLeft+"px = test.Tyle.Style.Height = test.OffSeIght+" PX "; div.offsetleft.offsetLeft.offsetwidth){clearwidth2) if(lot == 3){} if(lotime == 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 changewidth1 = setInterval(function(){if(div.offsetWidth <= 0){clearInterval(changewidth1); check = true; //これもより重要です} else {width = width-10; div.width = width+"px";}}、30); }})return div; }このようにして、マークアウトと入力の効果が達成されます。簡単に見ると、実際には形があります。ただし、これは非常に不器用な実装であると言わざるを得ません。まだいくつのポイントが追加されていないか、およびいくつの状況が考慮されていません。さらに、このコードの繰り返しの書き込み、最適化と最適化、noo ...