亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

不知道為什么鼠標移動上之后opacity一直在1和1.1之間跳動

<!DOCTYPE?html>
<html>
<head>
<meta?charset="UTF-8">
<title>shareicon</title>
</head>
<style?type="text/css">
*{
margin:0px;padding:0px;font:14px?"微軟雅黑"?normal;
}
#content{
position:absolute;
left:0px;
top:200px;
width:200px;??
height:200px;
background-color:?#cc3399;
opacity:?0.4;
}
#content?span{?
position:absolute;?
left:200px;
top:37.5%;??
width:20px;
height:25%;
padding-top:10px;
background-color:?#99cc00;
text-align:?center;
}
}
</style>
<script?type="text/javascript">
window.onload=function(){

var?mBox=document.getElementById("content");
mBox.onmouseover=function(){
changeOpacity(1);
}
mBox.onmouseout=function(){
changeOpacity(0.4);
}

var?timer=null;
var?mOpacity=0.4;
function?changeOpacity(itarget){

clearInterval(timer);
timer=setInterval(function(){
var?speed=0;
if(mOpacity<itarget){
speed=0.1;
}else{
speed=-0.1;
}
if(mOpacity==itarget){
clearInterval(timer);
}else{
mOpacity+=speed;
mBox.style.opacity=mOpacity;

}
},300)
}

}
</script>
<body>
<div?id="content">
<span>分享</span>
</div>
</body>
</html>


正在回答

2 回答

通過控制臺輸出當前透明度和speed如下:

0.4/0.1

0.5/0.1

0.6/0.1

0.7/0.1

0.7999999999999999/0.1

0.8999999999999999/0.1

0.9999999999999999/0.1

1.0999999999999999/-0.1

0.9999999999999999/0.1

1.0999999999999999/-0.1

0.9999999999999999/0.1

1.0999999999999999/-0.1

0.9999999999999999/0.1

1.0999999999999999/-0.1

0.9999999999999999/0.1

1.0999999999999999/-0.1

0.9999999999999999/0.1

1.0999999999999999/-0.1

0.9999999999999999/0.1

1.0999999999999999/-0.1

0.9999999999999999/-0.1

0.8999999999999999/-0.1

0.7999999999999999/-0.1

0.7/-0.1

0.6/-0.1

0.5/-0.1



貌似原因就出在這個莫名其妙出來的小數點上,無解..

0 回復 有任何疑惑可以回復我~
#1

紀奕濱

好像后面的章節有大概類似的問題,通過一個函數方法去向上取整也可以。 不用謝~~,多討論質疑才有進步,加油!
2015-09-20 回復 有任何疑惑可以回復我~
#2

myrtis 提問者 回復 紀奕濱

嗯嗯,我看到后面也恍然大悟了,看來不能鉆牛角尖啊,哈哈,不過那個程序還沒 調試好,我準備調試好再跟你說的,查了下說是二進制和十進制轉換的過程中會出現這種奇怪的現象,就像你說的是本生存在的BUG。
2015-09-20 回復 有任何疑惑可以回復我~

把這些參數,值全都乘以100,最后在mBox.style.opacity=mOpacity/100,這樣設置的話就不會出現你說的那種情況,可以把時間調小一點,流暢一點。

感覺這個應該是本生存在的bug,在沒有改變其他東西的情況下,把你的源代碼的定時器的時間調小之后,有時會出現這種現象有時不會,我也不懂怎么回事

0 回復 有任何疑惑可以回復我~
#1

myrtis 提問者

謝謝你哈!~我看老師寫的filter:alpha(opacity=)是為了兼容IE低版本的瀏覽器,所以自己在代碼里就把這一條刪掉了,直接用opacity,結果出現這種bug,真的有點想不通。(定時器的時間間隔是故意調大一些這樣可以在控制臺看opacity的變化情況。)多物體透明度那節課我寫的代碼也出現了一個奇怪的現象,鼠標移開后一直閃,跟這個好像是同一個原因。
2015-09-20 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

不知道為什么鼠標移動上之后opacity一直在1和1.1之間跳動

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號