下面的程序总是出现两个edit | delete 的显示,为什么?可是我只想要每行左边对应的那个,请问怎么修改?
<html>
<head>
<title>无标题文档</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head><body bgcolor="#FFFFFF" text="#000000">
<script>var overCol="#f1f1f1"
var currentDiv;function showDelete(self){
self.style.backgroundColor = overCol;
currentDiv = self;
var theid = "del_icon"; var delDiv=document.createElement("div");
delDiv.id=theid;
var d=delDiv;
d.style.textAlign="center";d.style.fontSize="11px";
var edit = document.createElement("span");
edit.title="编辑此条";edit.style.textDecoration="underline";
var del = document.createElement("span");
del.title="删除此条";del.style.textDecoration="underline";
edit.appendChild(document.createTextNode("edit"));
d.appendChild(edit);
d.appendChild(document.createTextNode(" | "));
del.appendChild(document.createTextNode("delete"));
d.appendChild(del); d.style.width="80px";
d.style.lineHeight="20px";
d.style.color="blue"; document.body.appendChild(d); document.getElementById(theid).style.cursor="pointer"; var l= getAbsoluteLeft(self) + self.offsetWidth - 80;
var t= getAbsoluteTop(self) + 5;
var scrollT = self.parentNode.scrollTop;//减去出现滚动条的高度;
var t= getAbsoluteTop(self) + 5 - scrollT;
document.getElementById(theid).style.position="absolute";
document.getElementById(theid).style.left = l+"px";
document.getElementById(theid).style.top = t+"px";
}function getAbsoluteLeft( ob ){
if(!ob){return null;}
var obj = ob;
var objLeft = obj .offsetLeft;
while( obj != null && obj .offsetParent != null && obj .offsetParent.tagName != "BODY" ){
objLeft += obj .offsetParent.offsetLeft;
obj = obj .offsetParent;
}
return objLeft ;
}
function getAbsoluteTop( ob ){
if(!ob){return null;}
var obj = ob;
var objTop = obj .offsetTop;
while( obj != null && obj .offsetParent != null && obj .offsetParent.tagName != "BODY" ){
objTop += obj .offsetParent.offsetTop;
obj = obj .offsetParent;
}
return objTop ;
}
</script>
<div id="list">
<div onMouseOver="showDelete(this);" style="padding:5px;border-bottom:1px dashed gray"><input type=checkbox value="example.com" name="url_chkbox" >example1.com </div>
<div onMouseOver="showDelete(this);" style="padding:5px;border-bottom:1px dashed gray"><input type=checkbox value="example.com" name="url_chkbox" >example2.com </div>
</div>
</body>
</html>
<html>
<head>
<title>无标题文档</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head><body bgcolor="#FFFFFF" text="#000000">
<script>var overCol="#f1f1f1"
var currentDiv;function showDelete(self){
self.style.backgroundColor = overCol;
currentDiv = self;
var theid = "del_icon"; var delDiv=document.createElement("div");
delDiv.id=theid;
var d=delDiv;
d.style.textAlign="center";d.style.fontSize="11px";
var edit = document.createElement("span");
edit.title="编辑此条";edit.style.textDecoration="underline";
var del = document.createElement("span");
del.title="删除此条";del.style.textDecoration="underline";
edit.appendChild(document.createTextNode("edit"));
d.appendChild(edit);
d.appendChild(document.createTextNode(" | "));
del.appendChild(document.createTextNode("delete"));
d.appendChild(del); d.style.width="80px";
d.style.lineHeight="20px";
d.style.color="blue"; document.body.appendChild(d); document.getElementById(theid).style.cursor="pointer"; var l= getAbsoluteLeft(self) + self.offsetWidth - 80;
var t= getAbsoluteTop(self) + 5;
var scrollT = self.parentNode.scrollTop;//减去出现滚动条的高度;
var t= getAbsoluteTop(self) + 5 - scrollT;
document.getElementById(theid).style.position="absolute";
document.getElementById(theid).style.left = l+"px";
document.getElementById(theid).style.top = t+"px";
}function getAbsoluteLeft( ob ){
if(!ob){return null;}
var obj = ob;
var objLeft = obj .offsetLeft;
while( obj != null && obj .offsetParent != null && obj .offsetParent.tagName != "BODY" ){
objLeft += obj .offsetParent.offsetLeft;
obj = obj .offsetParent;
}
return objLeft ;
}
function getAbsoluteTop( ob ){
if(!ob){return null;}
var obj = ob;
var objTop = obj .offsetTop;
while( obj != null && obj .offsetParent != null && obj .offsetParent.tagName != "BODY" ){
objTop += obj .offsetParent.offsetTop;
obj = obj .offsetParent;
}
return objTop ;
}
</script>
<div id="list">
<div onMouseOver="showDelete(this);" style="padding:5px;border-bottom:1px dashed gray"><input type=checkbox value="example.com" name="url_chkbox" >example1.com </div>
<div onMouseOver="showDelete(this);" style="padding:5px;border-bottom:1px dashed gray"><input type=checkbox value="example.com" name="url_chkbox" >example2.com </div>
</div>
</body>
</html>
解决方案 »
- 分享一个超棒的响应式幻灯jQuery插件 - refineslide
- 在js里,数据(123456.002233)显示为123,456.00
- 一个js操作框架的问题
- 【原创】注释版的js俄罗斯方块,里面包含设计理念和注释,与大家共享
- 确定 取消按钮无效,请帮忙看看
- 一个关于瀑布流的问题
- 求助,javascript动态改变数据岛的src?
- 谁帮我讲讲js中top的用法,还有它的属性returnValue
- 在Javascript里怎么读出asp中设置的cookie
- 求彻底删除JSON中一个元素的方法
- .........服务器上多出文件来了......有什么用这些文件....
- JS的一个QQ菜单,功能基本实现,现在存在的问题,请高手指点
JS中添加一个方法:
function del()
{
var del = document.getElementById("del_icon");
del.parentElement.removeChild(del);
}然后添加onMouseOut方法:
<div id="list">
<div onMouseOver="showDelete(this);" onMouseOut="del();" style="padding:5px;border-bottom:1px dashed gray"><input type=checkbox value="example.com" name="url_chkbox" >example1.com </div>
<div onMouseOver="showDelete(this);" onMouseOut="del();" style="padding:5px;border-bottom:1px dashed gray"><input type=checkbox value="example.com" name="url_chkbox" >example2.com </div>
</div>