为什么透明度变1后会闪烁,chrome上测试的,哪位大神帮帮忙

<!DOCTYPE HTML>

<html>

<head>

<style type="text/css">


.logo_right{


float:right;


margin-top:280px;


margin-right:40px;


opacity:0.6;



}


.logo_right form{


background-color:#F00;


height:30px;


-webkit-border-radius:7px;


padding-top:6px;


}


.search-text{


border:none;


height:21px;


width:270px;


font-size:16px;


outline:none;


margin-left:6px;


float:left;


}


.search-button{


border:0;


background:url(../images/search.jpg) no-repeat;


width:25px;


height:21px;


margin-right:6px;


float:left;


outline:none;


}


</style>



</head>

<body bgcolor="black">

    <div class="logo_right" id="logo_right">


        <form><input type="text" class="search-text" name="search-text" onfocus="startAlpha(0.8)" onblur="startAlpha(0.6)"/><input type="submit" class="search-button" value=""/></form>


        </div>  

</body>

</html>



<script>


var timer3=null;


var alpha2=0.6;


function startAlpha(target){


clearInterval(timer3);


var searchText=document.getElementById("logo_right");


timer3=setInterval(function(){


var speed=0;


if(alpha2<target){speed=0.1}


else{speed=-0.1}


if(alpha2==target){clearInterval(timer3);timer3=null;}


else{


alpha2+=speed;


searchText.style.opacity=alpha2;}


},30)


}

</script>


慕标3810760
浏览 1448回答 3
3回答

Wo可能不是我

去看看Js浮点数精度问题,0.7+0.1不等于0.8,所以程序进入了死循环才会一直闪

慕标3810760

谢谢大神,很有帮助!!

一杯2块的奶茶

你判断速度的地方,只有加减两种,程序进入后它会不停的加减加减,所以会出现不停的闪烁,你在最后的else里面输出一个数,会发现他一直在输出,
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript