js实现鼠标滑到图片上则产生放大浮出的效果

发布时间:2019-08-21编辑:脚本学堂
本文分享一例js代码,当鼠标滑到图片上时,图片会产生放大浮出的效果,挺不错的一段js代码,有兴趣的朋友参考学习下吧。

js实现的一个鼠标滑上去后图片放大浮出的效果。

代码:
 

复制代码 代码示例:
<script>
/**
* 鼠标滑到图片上则产生放大浮出的效果
* edit: www.jb200.com
*/
function GetAbsPosition(obj)
{
var curleft = 0, curtop = 0;
do {
curleft += obj.offsetLeft;
curtop += obj.offsetTop;
} while (obj = obj.offsetParent);
return [curleft,curtop];
}
function ShowFloatingImage(image, width, height)
{
var id = "trailimageid";
var newdiv = document.getElementById(id);
if(newdiv == null)
{
newdiv = document.createElement('div');
newdiv.setAttribute('id',id);
newdiv.setAttribute('onmouseout', "HideElement('"+id+"');");
document.body.appendChild(newdiv);
}
newdiv.innerHTML = '<img src='+image.src+ ' width='+(image.width + width) + ' height=' + (image.height + height) + ' />';
var absPos = GetAbsPosition(image);
newdiv.style.position = "absolute";
newdiv.style.posLeft = absPos[0] - width/2;
newdiv.style.posTop = absPos[1] - height/2;
newdiv.style.display="block";
}
function HideElement(id)
{
var elem = document.getElementById(id);
elem.style.display="none";
}
</script>

示例:
 

复制代码 代码示例:
<body>
<img src="1.jpg" width="300" height="300" onmouseover="ShowFloatingImage(this, 150, 150);" />
</body>

说明:
经测试事件处理的不是很好,导致鼠标移开不能回到原位。
此代码仅供学习参考。