一段javascript,为什么在Firefox下显示会不正常?

来源:百度知道 编辑:UC知道 时间:2024/05/10 10:43:45
下面是一段javascript,目的是在网页右侧显示一个浮动的图片,为什么在IE下显示正常,但是Firefox下显示的位置就不对了,应该如何修改才能适应Firefox?

---------------------------------------------------------------
var imgheight_close
window.screen.width>800 ? imgheight_close=140:imgheight_close=140
function myload()
{
myright.style.top=document.body.scrollTop+document.body.offsetHeight-imgheight_close;
myright.style.left=document.body.offsetWidth-140;
mymove();
}
function mymove()
{
myright.style.top=document.body.scrollTop+document.body.offsetHeight-imgheight_close;
myright.style.left=document.body.scrollLeft+document.body.offsetWidth-140;
setTimeout("mymove();",50)
}

function MM_reloadPage(init) { //reloads the window if Nav4 resized
if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}

ie 、firefox以及其它浏览器对于 table 标签的操作都各不相同,在ie中不允许对table和tr的innerHTML赋值,使用js增加一个tr时,使用appendChile方法也不管用。下面是我就三种浏览器测试的结果:

ie6 firefox opera
--------------------------------------------------------------------------------
insertRow 支持,而且 支持, 支持,
默认参数-1 但不支持默认参数 支持默认参数0
默认添加到最后 默认添加到最前
--------------------------------------------------------------------------------
appendChild 不支持 支持,但是增加 支持,效果同insertRow(-1)
tr后不影响rows 影响rows

dom level 1: http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/level-one-html.html#ID-64060425

最大限度的遵循规范,就能写出安全的、适用性强的代码了:

//向table追加一个空行:
var otr = otable.insertRow(-1);
var otd =