<div id=myElement style="height:100px;width:100px;background-color:red;">dsa</div><script defer=defer>   
var a=function(from,to,x){
return (to-from)*x+from
}
var b=document.getElementById("myElement");setInterval(function(){
b.style.width = a(b.style.width, 500, 0.1)+'px';
})
</script>  

解决方案 »

  1.   

    少加了个时间 但是也不行
    <div id=myElement style="height:100px;width:100px;background-color:red;">dsa</div><script defer=defer>   
    var a=function(from,to,x){
    return (to-from)*x+from
    }
    var b=document.getElementById("myElement");setInterval(function(){
    b.style.width = a(b.style.width, 500, 0.1)+'px';
    },200)
    </script>  
      

  2.   

    b.style.width他会获取一个100px不能进行想加减
      

  3.   

    楼上正解
    可以使用b.style.width = a(b.clientWidth, 500, 0.1)+'px';
      

  4.   

    b.style.width他会获取一个100px  下面的代码可以运行
    <div id=myElement style="height:100px;width:100px;background-color:red;">dsa</div>
    <script defer=defer>   
    var a=function(from,to,x){
    window.status= (to-from)*x+from;
        return (to-from)*x+from
    }
    var b=document.getElementById("myElement");
    alert(b.style.width);
    setInterval(function(){
        b.style.width = a(parseInt(b.style.width), 500, 0.1)+'px';

    },200)
    </script>