页面有一个《div》,根据一个button的click事件,显示或者不显示。
下面有一个table,其中一个《td》里,放了一个select控件,为了可编辑《option》选型,又放了一个空的iframe在select控件上面,目的是在ie6环境下,可以挡住select控件的文字部分,下拉钮还是露出来的。如果用position=relative,这个《td》height就变得很高,而且不能控制。所以改用absolute,这样当整个页面resize时,我必须重新计算高度和宽度,然后定位iframe,让他仍然覆盖在select上面。ok,一切正常。但,当我click 那个button,让table前面的《div》显示时(用的display=inline),再用同样的函数定位iframe的top时,结果不起作用。用ie developer tools发现,iframe有两个top值了,一个是top=1000px(原值),一个是top=1080(新值),结果top=1000px起作用,所以iframe位置不动,而top=1080不起作用,不能实现我希望的效果。
请教大虾们,遇到过吗?不吝赐教!谢谢!!
下面有一个table,其中一个《td》里,放了一个select控件,为了可编辑《option》选型,又放了一个空的iframe在select控件上面,目的是在ie6环境下,可以挡住select控件的文字部分,下拉钮还是露出来的。如果用position=relative,这个《td》height就变得很高,而且不能控制。所以改用absolute,这样当整个页面resize时,我必须重新计算高度和宽度,然后定位iframe,让他仍然覆盖在select上面。ok,一切正常。但,当我click 那个button,让table前面的《div》显示时(用的display=inline),再用同样的函数定位iframe的top时,结果不起作用。用ie developer tools发现,iframe有两个top值了,一个是top=1000px(原值),一个是top=1080(新值),结果top=1000px起作用,所以iframe位置不动,而top=1080不起作用,不能实现我希望的效果。
请教大虾们,遇到过吗?不吝赐教!谢谢!!
我的环境是ie6。
谢谢回复。
sourceTop=calculateSumOffset(document.all("S7_DoseFrequency"+i),"offsetTop");
得到textbox的参考点,calculateSumOffset()返回绝对位置的offsetLeft值。
sourceLeft=calculateSumOffset(document.all("S7_DoseFrequency"+i),"offsetLeft");
得到iframe控件
obj=document.all("iframeS7_DoseFrequency"+i);
重新定位Top值,下面3个参数都不工作!
obj.style.Top=sourceTop+"px";
obj.Top=sourceTop+"px";
obj.style.marginTop=sourceTop+"px";obj.style.left=sourceLeft;
还是老老实实的弄一个FOR(y<i<X)
{obj.style.Top=sourceTop+"px";
obj.Top=sourceTop+"px";
obj.style.marginTop=sourceTop+"px";
}
写了吗?
16楼,已经写了。
15楼,有关控件已经在一个表格里了。
会得到resize前TOP的值 感觉是因为在窗口重新载入前 document.all("S7_DoseFrequency"+i) 这个就起作用了
不知道你是否理解我的意思
就是你的主窗口resize后 iframe里监听到了这个事件 然后相应的触发一个resize
就是所谓的起泡