jsカバー層の切り出し効果を実現------Day 77
2349 ワード
カバー層を入れるのと同じように、単純なカバー層を描くのは簡単ですが、ここでは簡単ではありません.そして、存在するdivを表示するのではなく、面倒な生成divを選びました.ここでは特に注意しなければなりません.
1、カバー層が現れた後、マウスは動かなくても、カバー層の上にあり、div領域が与えられなくなったので、傍受の位置に注意する.
2、onmouseoutとonmouseoverは瞬時にトリガーされることが重要です.
3、実際の応用では、既存のdivの表示は一時的に作成するよりも有効である.
これで私はやはりコードをつけましょう.実は前の場所はあまり変わっていません.私は変更した場所だけを記録します.それはonmouseoutの傍受がどこに追加されたのですか.
このように简単にすべて划入の効果を実现して、简単に见ると确かにすでにその形があって、しかし言わざるを得なくて、これは拙劣で极点の実现で、まだどれだけの点がまだ加入していないので、まだどれだけの情况がまだ考虑していないので、また、このコードの缲り返しの编纂、最适化の最适化、ほら...
1、カバー層が現れた後、マウスは動かなくても、カバー層の上にあり、div領域が与えられなくなったので、傍受の位置に注意する.
2、onmouseoutとonmouseoverは瞬時にトリガーされることが重要です.
3、実際の応用では、既存のdivの表示は一時的に作成するよりも有効である.
これで私はやはりコードをつけましょう.実は前の場所はあまり変わっていません.私は変更した場所だけを記録します.それはonmouseoutの傍受がどこに追加されたのですか.
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",function(event){// ,
var x=event.clientX;
var y=event.clientY;
left=x-test.offsetLeft;
top=y-test.offsetTop;
right=test.offsetLeft+test.offsetWidth-x;
bottom=test.offsetTop+test.offsetHeight-y;
arr=[];
arr.push(top);
arr.push(right);
arr.push(bottom);
arr.push(left);
var least=findLeast(arr);
if(least==1){
}
if(least==2){//
div.style.left=test.offsetLeft+"px";
div.style.top=test.offsetTop+"px";
div.style.height=test.offsetHeight+"px";
div.style.width=width+"px";
var changeWidth2=setInterval(function(){
if(div.offsetLeft>=test.offsetLeft+test.offsetWidth){
clearInterval(changeWidth2);
check=true;//
}else{
marginLeft=marginLeft+10;
width=width-10;
div.style.width=width+"px";
div.style.left=marginLeft+"px";
}
},30);
}
if(least==3){
}
if(least==4){// ,width ,
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.style.width=width+"px";
}
},30);
}
})
return div;
}
このように简単にすべて划入の効果を実现して、简単に见ると确かにすでにその形があって、しかし言わざるを得なくて、これは拙劣で极点の実现で、まだどれだけの点がまだ加入していないので、まだどれだけの情况がまだ考虑していないので、また、このコードの缲り返しの编纂、最适化の最适化、ほら...