Popup Image Display on Hover

在网页设计中,为用户浏览图片提供便利的功能是提升用户体验的重要一环。其中,当用户将鼠标悬停在缩略图上时显示大图,是一种常见的交互方式。本文将介绍一种简单的JavaScript实现方法,用于在用户鼠标悬停时显示弹出图片。该脚本已在IE 7.0和Mozilla Firefox 3.0中测试通过。

实现步骤如下: 首先,在HTML页面上创建一个名为"imgbox"的DIV容器,用于显示缩略图。以下是DIV和与之关联的CSS元素ID:

<div id="imgbox"></div>

CSS元素如下:

#imgbox { vertical-align: middle; position: absolute; border: 1px solid #999; background: #FFFFFF; filter: Alpha(Opacity=100); visibility: hidden; height: 200px; width: 200px; z-index: 50; overflow: hidden; text-align: center; }

接下来是JavaScript代码,用于显示弹出图片:

获取缩略图的位置:

function getElementLeft(elm) { var x = 0; x = elm.offsetLeft; elm = elm.offsetParent; while (elm != null) { x = parseInt(x) + parseInt(elm.offsetLeft); elm = elm.offsetParent; } return x; } function getElementTop(elm) { var y = 0; y = elm.offsetTop; elm = elm.offsetParent; while (elm != null) { y = parseInt(y) + parseInt(elm.offsetTop); elm = elm.offsetParent; } return y; }

获取缩略图的图片源,使DIV可见,调整高度和宽度到所需大小,并将图片附加到DIV上:

function Large(obj) { var imgbox = document.getElementById("imgbox"); imgbox.style.visibility = 'visible'; var img = document.createElement("img"); img.src = obj.src; img.style.width = '200px'; img.style.height = '200px'; if (img.addEventListener) { img.addEventListener('mouseout', Out, false); } else { img.attachEvent('onmouseout', Out); } imgbox.innerHTML = ''; imgbox.appendChild(img); imgbox.style.left = (getElementLeft(obj) - 50) + 'px'; imgbox.style.top = (getElementTop(obj) - 50) + 'px'; }

鼠标移出时隐藏DIV:

function Out() { document.getElementById("imgbox").style.visibility = 'hidden'; } <img id='img1' src='images/Sample.jpg' onmouseover="Large(this)" />
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485