Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 更改dom元素';在没有jquery的情况下加载后的位置_Javascript_Html_Css - Fatal编程技术网

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

Javascript 更改dom元素';在没有jquery的情况下加载后的位置,javascript,html,css,Javascript,Html,Css,嘿,我有一些设置元素样式的代码。宽度、高度和位置 但它不起作用,我认为这是因为它不在大脑中,但我想改变css,就像鼠标点击事件一样,这样选项卡就会滑出并填充内容,但我不想使用jquery,有没有办法做到这一点 编辑:好的,那么我解决了宽度和高度的问题,当我尝试定位它时,它似乎没有反应 这是我的密码 for (i=1; i<=tab_array.length-1; i++) { if (i==3) { document.getElementById("_"+

嘿,我有一些设置元素样式的代码。宽度、高度和位置 但它不起作用,我认为这是因为它不在大脑中,但我想改变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;';
    }               
}
对于(i=1;i尝试以下操作:

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);

对于工作示例,请访问。我没有添加easing,但jQuery可以非常有效地处理它。我编写了从高处提取字符串或数字的代码。

我真的不明白I或间隔的用途?@PHPglue
SetInterval()
只需继续调用作为字符串或匿名函数传递的函数。
i
必须递增,因此大小会增加。仅调用
setInterval()
本身不会自动递增
i
。请注意
i++;
i
changeSize()范围内
i=0
开始的函数
interval
是我存储在
n=parseInt(interval)中的毫秒或秒/1000
。我想你没有看到滚动条。请参阅。请注意,
self
window
,这是隐式的。我的意思是我只是想更改值,我有一个外部函数做递增,我尝试了
object.style.cssText='height:'+Math.floor(p(100,ghight))+“px;”
这很好,除了它不能与
左:
由于某种原因,我有一个外部css文件,说明
位置:绝对;
以及@phpglue要正确使用
左:
必须
定位:相对;
父容器,然后
定位:绝对;
要定位的元素我会用CSS来做这件事。你可以用
element.style.left=
或者使用
element.style.cssText='left:'+yourLeftNum+'px;top:'+yourTopNum+'px;'
,稍后。哎呀,我只是忘记了
选项卡数组之后的
[I]