应该是这里有问题吧:
var dateTable = window.frames("CalendarIframe").document.getElementsByTagName("Table")[0];alert窗口出来以后,table的位置被移动了,或者参照的offsetParent对象变化了。
你把alert放到他后面,估计就没有这个问题。你把全部的文件贴出来看看呢。
var dateTable = window.frames("CalendarIframe").document.getElementsByTagName("Table")[0];alert窗口出来以后,table的位置被移动了,或者参照的offsetParent对象变化了。
你把alert放到他后面,估计就没有这个问题。你把全部的文件贴出来看看呢。
解决方案 »
- 小女子请问JSP页面跳转出错
- 求个匹配数字是否存在字符串中
- 扫码枪提交的一个问题
- windows mobile 6.1 里的 ie6 支持javascript里的那些事件?
- 刚才一个朋友回的一段代码实在不懂其意,望详释,我JS学得不好~~
- 史...上...最...菜... textarea 怎么写 input形式的
- js 不编译输出
- 求一个javascript 做的记数器!! 在线等!!急用!!!
- 相对宽度(比如98%)如何转换为绝对宽度567px?
- 有没有办法防止<Frameset>拖动?
- 帮忙看google搜索框自动提示代码(续前贴+100分=200分)
- 新手上路:怎么选择other选项就出现other文本框?(100分)
代码
而且还有点不同的地方,如果浏览器是用http://虚拟目录/htmlpage.html运行就这样
如果直接用ie打开运行
在ie地址栏里面是
C:\Documents and Settings\Administrator\桌面\CaLendar\HTMLPage.htm
这样就不会的
alert的时候,显示按钮还没有显示出来,所以,这个时候的table的offwidth和显示按钮出来以后的oddwidth肯定不一样的。
多了一个显示按钮呀。没有办法贴图给你,就只有文字了。希望你可以明白。还有,你给出的程序里面,alert(),你少写了一个a,写成了lert().
function InitDiv()
{
calendar.Div.style.display = "block";
var dateTable = window.frames("CalendarIframe").document.getElementsByTagName("Table")[0];
calendar.Div.style.width = dateTable.offsetWidth;
calendar.Div.style.height = dateTable.offsetHeight;
document.title= "w="+dateTable.offsetWidth+" h="+dateTable.offsetHeight
InitDivLocation();
}
但不知道为何这样我去取的iframe里面的table的大小就不对呢?本想把div,iframe以及table的大小都设置为相同的,看来还有哪里不对,研究下
在你的程序里面,
第一次点击的时候,有alert的时候,[显示]这个按钮居然消失了,嗬嗬,看来你重新设置过画面,所以这个时候,得到的offsetWidth就是没有[显示]这个按钮的相对位置,所以要靠左边一点。研究一下你的程序吧。
在你的程序里面,
第一次点击的时候,有alert的时候,[显示]这个按钮居然消失了,嗬嗬,看来你重新设置过画面,所以这个时候,得到的offsetWidth就是没有[显示]这个按钮的相对位置,所以要靠左边一点。
——————————————————————————————————————————————————————————
消失是因为层里面的iframe遮盖上去了。坐标位置还是和以前的相同的。
你再慢慢看看吧。
你可以看一下offsetParent这个时候是谁。