| 我先把功能实现了: <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <title></title>
 <script type="text/javascript">
 window.onload = function () {
 var intelId;
 var addDiv = document.getElementById("addDiv");
 intelId = setInterval(function () {
 var widthDiv = parseInt(addDiv.style.width);
 var heightDiv = parseInt(addDiv.style.height);
 if (heightDiv <= 400) {
 widthDiv = widthDiv + 0.5 * widthDiv;
 heightDiv = heightDiv + 0.5 * heightDiv;
 addDiv.style.width = widthDiv + "px";
 addDiv.style.height = heightDiv + "px";
 }
 else {
 clearInterval(intelId);
 }
 }, 100);
 }
 </script>
 </head>
 <body>
 <div id="addDiv" style="width:60px; height:55px; background:Red; position:absolute; left:207px; top:203px;">
 </div>
 </body>
 </html>
 
 <body>
 <div id="addDiv" style="width:60px; height:55px; background:Red; position:absolute; left:207px; top:203px;">
 </div>
 
 window.onload = function () {
 var addDiv = document.getElementById("addDiv");
 setInterval(function () {
 var myWidth = parseInt(addDiv.style.width);
 myWidth = myWidth + 0.01 * myWidth;//得到60.6,永远
 alert(myWidth);
 }, 1000);
 }
 
 window.onload = function () {
 var addDiv = document.getElementById("addDiv");
 var myWidth = parseInt(addDiv.style.width);
 setInterval(function () {
 myWidth = myWidth + 0.01 * myWidth;//这样就可以得到加后的值了
 alert(myWidth);
 }, 1000);
 }
 还是parseInt()这个方法的问题,
 你第一次得到了层的高度和宽度,转换成整形成功,比如层的高度是50,宽度是60。
 那么owidth+0.01*owidth就是一个小数,50+0.01*50=50.5,60+0.01*60=60.6
 当第二次执行的时候层的高度和宽度都变成了50.5px,60.6px,
 但是转换的时候,parseInt()这个方法还是把50.5px转换成了50,owidth=50,
 60.6px,height=60,所以你得到的值是一样的。
 
 解决方法:
 owidth=parseInt(divsize.style.width)和
 height=parseInt(divsize.style.height)
 这以上两句放在函数changeSize的外面应该就可以了.(不要放在inc里面)
 
 |