鼠标onmouseover,onmouseout事件动态创建DIV 显示图片

本文介绍了一种使用JavaScript实现鼠标悬停时显示图片的方法。通过定义displayPic和destoryElement两个函数来控制图片的显示与隐藏。此外,还提供了一个isScroll辅助函数用于判断元素是否存在滚动条。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

好久没写博客了。
更新下,省着以后还得现写。

function displayPic(objId){

createElement(objId);

//document.getElementById(objId+"_pic").innerHTML = document.getElementById(objId+"_text").innerHTML;
}
function nonePic(objId){

destoryElement(objId);
}
var isScroll = function (el) {
// test targets
var elems = el ? [el] : [document.documentElement, document.body];
var scrollX = false, scrollY = false;
for (var i = 0; i < elems.length; i++) {
var o = elems[i];
// test horizontal
var sl = o.scrollLeft;
o.scrollLeft += (sl > 0) ? -1 : 1;
o.scrollLeft !== sl && (scrollX = scrollX || true);
o.scrollLeft = sl;
// test vertical
var st = o.scrollTop;
o.scrollTop += (st > 0) ? -1 : 1;
o.scrollTop !== st && (scrollY = scrollY || true);
o.scrollTop = st;
}
// ret
return {
scrollX: scrollX,
scrollY: scrollY
};
};
function createElement(objId,event){

if(!event){
event = window.event;
}else{
event.srcElement = event.target;
}
var createDiv = document.createElement("div");
createDiv.id = objId+"_pic";
createDiv.innerHTML = document.getElementById(objId+"_text").innerHTML;
var temp = 500;
var x = event.clientX-temp;

createDiv.style.left=x;

if (isScroll){
//有滚动条 div 的 y = 鼠标的y + 滚动条距离浏览器最上面的距离
createDiv.style.top= event.clientY+document.body.scrollTop;

}else{
//没有滚动条
createDiv.style.top= event.clientY;
}
createDiv.style.position = "absolute";
createDiv.style.display='';

document.body.appendChild(createDiv);
}
function destoryElement(objId){
var obj = document.getElementById(objId+"_pic");
if(obj != null){
obj.innerHTML = "";
document.body.removeChild(obj);
}
}


<a href="#" id="<%=userSerial%>_href" onmouseover="displayPic('<%=userSerial%>');" onmouseout="nonePic('<%=userSerial%>');" TARGET="_blank"> <%=dkTime%></a>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值