javascript - 保留两位小数,但要求只显示一位小数,怎么实现?
PHP中文网
PHP中文网 2017-04-11 13:30:20
0
4
408

1.要实现的效果:在相同的时间内完成设定数值的自加;
2.目前的方案:( 设定数值 - 初始数值 )/ 预期时长 = speed,以speed为自加变量;
3.目前的困境:speed精确到小数好几位,但要求显示的只有一位,如果直接保留一位,要么数值不变,要么不能实现预期效果;
请问怎么办?有没有什么方法能实现预期效果?
请输入代码

<!DOCTYPE html>
<html>
<head>
    <title>这是一个test例子</title>
</head>
<body>
<p id="test"></p>
<script>
function aa(starNum,endNum,duration){
    var i=starNum,
        speed=(endNum-starNum)/duration,
        sector=document.getElementById("test");
    sector.innerHTML=starNum;
    function bb(){
        if(i<endNum){
            i+=speed;
            sector.innerHTML=i;
        }else{
            clearInterval(timer);
            sector.innerHTML=endNum;
        }
    }
    var timer=setInterval(function(){
        bb();
    },100)
}
aa(0,10,7);
</script> 
</body>
</html>
PHP中文网
PHP中文网

认证高级PHP讲师

모든 응답(4)
刘奇

function bb(){

    if(i<endNum){
        i+=speed;
        sector.innerHTML=i.toFixed(1);//i.toFixed(1)并不会改变i的值,详细用法自己搜索
    }else{
        clearInterval(timer);
        sector.innerHTML=endNum;
    }
}
阿神

把function bb写成这样可否解决你的问题?

function bb(){
        if(i<endNum){
            i+=speed;
            i = i===10? i : +i.toFixed(1)
            sector.innerHTML=i;
        }else{
            clearInterval(timer);
            sector.innerHTML=endNum;
        }
    }
阿神

函数内部重新声明一个变量来保存i取一位小数的值,参与后面的运算。但是不改变i的值。

PHPzhong
function bb(){
    if(i<endNum){
        i+=speed;
        sector.innerHTML=(i*10>>0)/10;
    }else{
        clearInterval(timer);
        sector.innerHTML=endNum;
    }
}
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!