Javascript 我想让DIV向四周扩大,但是left和top控制不好,求解

以下是代码

             function messagefadein(){
                 var oalert=document.getElementById('alert_');
                 clearInterval(msg_time);
                 oalert.style.width="40px";
                 oalert.style.height="30px";
                 var speed=40;
                 var speed2=30;

                 msg_time=setInterval(function(){
                     
                     speed+=40;
                     speed2+=30;


                     if(oalert.offsetWidth>400){
                         clearInterval(msg_time);
                     }
                     else{
                         oalert.style.left=oalert.offsetLeft+10+"px";
                         oalert.style.top=oalert.offsetTop+10+"px";
                         oalert.style.width=oalert.offsetWidth+speed+"px";
                         oalert.style.height=oalert.offsetHeight+speed2+"px"
                     }
                 },30);

                 oalert.style.display="block";

             }

这段代码运行完,总是从左上角扩大,然后往左上方移动几个PX;丝毫没有头绪,请问要怎么改写呢?万分感谢!!

阅读 3.4k
3 个回答

为什么不试试css3的放大属性...

之所以从左上角放大,是因为这个div的位置并没有移动。之所以向左上角移动了几个像素,是因为你的offsetTop和offsetLeft等于10。

这些扩大效果建议使用jQuery自带的动画效果,或者采用css提供的效果。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题