在没有jquery的情况下加载后更改dom元素的位置

时间:2013-07-11 23:22:31

标签: javascript html css

嘿,我有一些设置元素style.width,height和position的代码 但它没有工作,我认为这是因为它不是在头部,但我想改变css就像一个鼠标点击事件所以标签将滑出和东西,但我宁愿不使用jquery是否有办法这样做?

编辑:确定所以我已经解决了宽度和高度问题,当我尝试定位它时似乎无法响应

这是我的代码

for (i=1; i<=tab_array.length-1; i++)
{

    if (i==3)
    {
        document.getElementById("_"+i).style.cssText='height:'+Math.floor(p(100,gheight))+'px;'+
                                 'width:' +Math.floor(p(80,gwidth ))+'px;'+
                                 'background:black;'+
                                 'postion:absolute;'+
                                 'left:'+Math.floor(p(tab_array.across,gwidth)-gwidth)+'px;'
                                 ;
    }

    else
    {
        document.getElementById("_"+i).style.cssText='height:'+Math.floor(p(80,gheight))+'px;'+
                                 'width:' +Math.floor(p(80,gwidth ))+'px;';
    }               
}

1 个答案:

答案 0 :(得分:0)

尝试类似:

function E(e){
  return document.getElementById(e);
}
function changeSize(id, height, width, interval){
  var es = E(id).style, h = parseInt(height), w = parseInt(width), f = Math.floor(h/w), n = parseInt(interval), i = 0;  
  var sit = setInterval(function(){
    i++; es.cssText = 'height:'+i*f+'px; width:'+i+'px;';
    if(i === w){
      es.cssText = 'height:'+h+'px; width:'+w+'px;'; clearInterval(sit); 
    }
  }, n);
}
changeSize('box', 100, 50, 20);

对于工作示例,请访问http://jsfiddle.net/PHPglue/X6TMv/。我没有添加缓动,但jQuery处理得非常有效。我让代码从高处开始使用字符串或数字。