
opacity(alpha)を、ロールオーバー/アウトで0.20-1.00の範囲で変更
フラグを立てて処理が終わっていなければ、次の処理を受け付けないようにした。
フラグの立て方が下手。
マウスオーバーが終わりきるまでマウスアウト(オーバーもだけど)を受け付けないようにした
さらに、処理が終わった後のopacityをチェックをして、0.2になった時にマウスアウトしていたら1.0に戻すようしないとおかしい。
window.onload=function(){
_bt2=document.getElementById("bt2");
_ta2=document.getElementById("ta2");
nowA2=100;
_ta2.value=nowA2;
dec=0.2;//減速
maxA=100;//最大アルファ
minA=20;//最小アルファ
flag2=true;
reftime=20;//リフレッシュタイム:ミリ秒
//現在のalphaを、targetAlphaに近づける関数2
function alphaSet2(targetA2){
flag2=false;
nowA2+=(targetA2-nowA2)*dec;
if(Math.abs(nowA2-targetA2)<1){
nowA2=targetA2;
flag2=true;
clearInterval(aID2);
}
var alpha = parseInt(nowA2);
_bt2.style.opacity = alpha/100;
_ta2.value=alpha/100;
}
//マウスオーバー2
_bt2.onmouseover=function(){
if(flag2){
aID2=window.setInterval(function(){
alphaSet2(minA);
},reftime);
}
}
//マウスアウト2
_bt2.onmouseout=function(){
if(flag2){
aID2=window.setInterval(function(){
alphaSet2(maxA);
},reftime);
}
}
}