怎么会这样呢 应该是this有问题,this是本表格了吧,用this.name 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 都不行table<script type="text/javascript"> function disable(o) { o=document.getElementById('base0');with (aa.style) { position = "absolute"; backgroundColor = "#000000"; width = o.offsetWidth; height = o.offsetHeight; left = o.offsetLeft; top = o.offsetTop; }} </script> <div id="aa"></div><table> <tr> <td><input name='base' id='base0' type='checkbox' value='hhh' onMousemove="javascript:disable('base0');"/> hhh</td> </tr></table> <input name='base' id='base1' type='checkbox' value='hhh' onMousemove='javascript:disable(this);'/> hhh就是那个对象 - -这个函数看起来好面熟的样子。。放table 里不行的原因是。。table有点异类..它的td的offsetHeight|Width是0但是你可以用offsetParent什么的取绝对的位置.. while (oLay.offsetParent) { oLay = oLay.offsetParent; iLeft += oLay.offsetLeft; iTop += oLay.offsetTop; }这样在ie能获取位置了在ff又不行(加上dtd)为什么 rePosition : function (o) {//获取元素绝对位置var $x = $y = 0;do {$x += o.offsetLeft;$y += o.offsetTop;} while ((o = o.offsetParent) && o.tagName != "BODY");return { x : $x, y : $y };} 获取位置加DTD没关系。。 问题是加了<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">后ie没问题ff就有问题ls的ls的方法基本跟我的相同吧 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><script>function set(){var oLay = document.getElementById("inputer"), oDiv = document.getElementById("oList");var iLeft = oLay.offsetLeft, iTop = oLay.offsetHeight + oLay.offsetTop;while (oLay.offsetParent) { oLay = oLay.offsetParent; iLeft += oLay.offsetLeft; iTop += oLay.offsetTop; }with (oDiv.style) { top = iTop; left = iLeft;}}</script></head><body onload="set()"><div id="oList" style="position:absolute;border:1px solid #000;">123456</div><table align="center" width="200" border="1"><tr><td><input type="text" id="inputer"/></td></tr></table></body>像这里ie正常ff不行没有dtd就两个都没问题 昂,你忘记加单位了。。必须要+ "px";正确的Code:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><script type="text/javascript">window.onload = function () { var oLay = document.getElementById("inputer"), oDiv = document.getElementById("oList"); var iLeft = oLay.offsetLeft, iTop = oLay.offsetHeight + oLay.offsetTop; while (oLay.offsetParent) { oLay = oLay.offsetParent; iLeft += oLay.offsetLeft; iTop += oLay.offsetTop; } with (oDiv.style) { top = iTop + "px"; left = iLeft + "px";}}</script></head><body><div id="oList" style="position:absolute;border:1px solid #000;">123456</div><table align="center" width="200" border="1"><tr><td><input type="text" id="inputer"/></td></tr></table></body> 请问如何在弹出的div信息框中加入文字超链接?? 怎麼樣搜索這個xml裡的節點? HTNL 里div js怎么实现三级关联 如何检测水平滚动条的位置? 同一页面,放置2个同一JS冲突,求助。。。 这个选择省份和城市的javascript 刚接触javascript,几个小问题,大家帮帮忙 关于变量的问题 怎样用方向箭头使输入焦点在表格中上下左右(表格中含有文本框)移动? 关于js国际化问题 一个简单的拖放问题
table<script type="text/javascript">
function disable(o)
{
o=document.getElementById('base0');
with (aa.style)
{
position = "absolute";
backgroundColor = "#000000";
width = o.offsetWidth;
height = o.offsetHeight;
left = o.offsetLeft;
top = o.offsetTop;
}
}
</script>
<div id="aa"></div>
<table>
<tr>
<td><input name='base' id='base0' type='checkbox' value='hhh' onMousemove="javascript:disable('base0');"/> hhh</td>
</tr>
</table>
<input name='base' id='base1' type='checkbox' value='hhh' onMousemove='javascript:disable(this);'/> hhh
就是那个对象
这个函数看起来好面熟的样子。。
放table 里不行的原因是。。table有点异类..
它的td的offsetHeight|Width是0
但是你可以用offsetParent什么的取绝对的位置..
这样在ie能获取位置了
在ff又不行(加上dtd)
为什么
//获取元素绝对位置
var $x = $y = 0;
do {
$x += o.offsetLeft;
$y += o.offsetTop;
} while ((o = o.offsetParent) && o.tagName != "BODY");
return { x : $x, y : $y };
}
加DTD没关系。。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
后ie没问题
ff就有问题
ls的ls的方法基本跟我的相同吧
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script>
function set(){
var oLay = document.getElementById("inputer"), oDiv = document.getElementById("oList");
var iLeft = oLay.offsetLeft, iTop = oLay.offsetHeight + oLay.offsetTop;
while (oLay.offsetParent) { oLay = oLay.offsetParent; iLeft += oLay.offsetLeft; iTop += oLay.offsetTop; }
with (oDiv.style) { top = iTop; left = iLeft;}
}
</script>
</head>
<body onload="set()">
<div id="oList" style="position:absolute;border:1px solid #000;">123456</div>
<table align="center" width="200" border="1">
<tr><td>
<input type="text" id="inputer"/>
</td></tr>
</table>
</body>像这里ie正常ff不行
没有dtd就两个都没问题
必须要+ "px";
正确的Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript">
window.onload = function () {
var oLay = document.getElementById("inputer"), oDiv = document.getElementById("oList");
var iLeft = oLay.offsetLeft, iTop = oLay.offsetHeight + oLay.offsetTop;
while (oLay.offsetParent) { oLay = oLay.offsetParent; iLeft += oLay.offsetLeft; iTop += oLay.offsetTop; }
with (oDiv.style) { top = iTop + "px"; left = iLeft + "px";}
}
</script>
</head>
<body>
<div id="oList" style="position:absolute;border:1px solid #000;">123456</div>
<table align="center" width="200" border="1">
<tr><td>
<input type="text" id="inputer"/>
</td></tr>
</table>
</body>