var top=parseInt(document.getElementById("aa").style.paddingTop)+10;
document.getElementById("aa").style.paddingTop=String(top)+"px";//说这一行参数无效

解决方案 »

  1.   

    document.getElementById("aa").style.paddingTop=top+"px";
      

  2.   

    转换为字符串的方式是:
    top.toString();
    事实上这一步可以省略,在数值与字符串相加时,js会自动将数值转换为字符串,然后进行连接并返回一个字符串。
      

  3.   

    var top=parseInt(document.getElementById("aa").style.paddingTop)+10;
    alert(top); //看看输出什么?
      

  4.   

    1.用top做变量名是个问题
    2.paddingTop应该是带单位的
    3.貌似没有string(),只有toString,而且需要对象
      

  5.   

    测试了一下,确实不能用top作为变量名。
    如果对象没有定义padding-top属性,读取paddingTop的值并转换为整数型会返回NaN,如果不确定的话,需要判断一下,比如:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    </head><body>
    <div id="aa" style="border:1px solid #CCC;">TEST</div>
    <script type="text/javascript">
    var t = document.getElementById('aa').style.paddingTop;
    if (t.length < 1) t = 0;
    t += 10 + 'px';
    document.getElementById('aa').style.paddingTop = t;
    </script>
    </body>
    </html>
      

  6.   

    //js需要改一下:
    var t = document.getElementById('aa').style.paddingTop;
    alert(t);
    if (t.length < 1) t = 0;
    else t = parseInt(t) + 10;
    document.getElementById('aa').style.paddingTop = t + 'px';不过,如果碰到原先的css定义的padding-top值不是以px为单位的话,结果是无法意料的。