为了账号安全,请及时绑定邮箱和手机立即绑定

为什么speed直接用小数不可以,只能用整数,speed/100才可以,用小数判断出错????

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <style type="text/css">
        #one{
            width:200px;
            height:200px;
            opacity: 0.3;
            background: red;
        }
    </style>
    <script type="text/javascript">
        window.onload=function(){
            var one=document.getElementById("one");
            one.onmouseover=function(){
                startMove(1);
            }
            one.onmouseout=function(){
                startMove(0.3);
            }
        }
        var timer=null;
        var alpha=0.3;
        function startMove(target){
        var one=document.getElementById("one");
        clearInterval(timer);
        var speed=0;
        if(alpha>target){
            speed=-0.1;
        }else{
            speed=0.1;
        }
        timer=setInterval(function(){
            if(alpha==target){
                clearInterval(timer);
            }
            else{
                alpha+=speed;
                one.style.opacity=alpha;                
            }
        },30);
        
        }
    </script>
    <body>
        <div id="one"></div>
    </body>
</html>

正在回答

1 回答

javascript的计算能力不强,用小数的方式来做数学运算容易得出错误结果,建议需要运算的代码尽量避开小数。

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

慕粉3601794 提问者

好的好的,O(∩_∩)O谢谢
2017-09-19 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么speed直接用小数不可以,只能用整数,speed/100才可以,用小数判断出错????

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信