Javascript 更改dom元素';在没有jquery的情况下加载后的位置
嘿,我有一些设置元素样式的代码。宽度、高度和位置 但它不起作用,我认为这是因为它不在大脑中,但我想改变css,就像鼠标点击事件一样,这样选项卡就会滑出并填充内容,但我不想使用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("_"+
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或间隔的用途?@PHPglueSetInterval()
只需继续调用作为字符串或匿名函数传递的函数。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]