教程集 www.jiaochengji.com
教程集 >  脚本编程  >  javascript  >  正文 JavaScript图片放大镜的简单代码

JavaScript图片放大镜的简单代码

发布时间:2015-02-21   编辑:jiaochengji.com
本文分享一例javascript实现的图片放大镜的效果代码,实现起来比较简单,适合容量不大的图片放大效果,有需要的朋友参考下吧。

一个很漂亮的放大镜效果,当图片较大时,加载时间会稍慢,请耐心等待。

例子:
 

复制代码 代码示例:

<!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>
<style type="text/css">
#div1 { width:304px; height:222px; position:relative; margin:30px auto 0px;}
#div1 img{width:304px; height:222px;}
#div1 span { width:100px; height:100px; background:red; left:0px;top:0px; position:absolute; display:none; filter:alpha(opacity:20); opacity:0.2;}
.show { width:100%; height:100%; background:red; position:absolute; z-index:10px; filter:alpha(opacity:10); opacity:0.1; left:0px; top:0px; }
#div2 {width:304px; height:222px; position:relative; display:none; overflow:hidden; margin:0px auto 0px;}
#img1 { position:absolute;}
</style>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>JavaScript 图片放大代码-www.jiaochengji.com</title>
<script type="text/javascript">
window.onload=function ()
{
var oDiv=document.getElementById('div1');
var oShow=oDiv.getElementsByTagName('div')[0];
var oSpan=oDiv.getElementsByTagName('span')[0];
var oImg=document.getElementById('img1');
oShow.onmouseover=function()
{
oSpan.style.display='block';
oImg.parentNode.style.display='block';
};
oShow.onmouseout=function()
{
oSpan.style.display='none';
oImg.parentNode.style.display='none';
};
oShow.onmousemove=function(ev)
{
var oEvent=ev||event;
var x=oEvent.clientX-oDiv.offsetLeft-oSpan.offsetWidth/2;
var y=oEvent.clientY-oDiv.offsetTop-oSpan.offsetHeight/2;

if(x<0)
{
x=0;
}
else if(x>oShow.offsetWidth-oSpan.offsetWidth)
{
x=oShow.offsetWidth-oSpan.offsetWidth;
}
if(y<0)
{
y=0;
}
else if(y>oShow.offsetHeight-oSpan.offsetHeight)
{
y=oShow.offsetHeight-oSpan.offsetHeight
}

oSpan.style.left=x+'px';
oSpan.style.top=y+'px';
var percentX=x/(oShow.offsetWidth-oSpan.offsetWidth);
var percentY=y/(oShow.offsetHeight-oSpan.offsetHeight);
var oImgparent=oImg.parentNode;
oImg.style.left=-percentX*(oImg.offsetWidth-oImgparent.offsetWidth)+'px';
oImg.style.top=-percentY*(oImg.offsetHeight-oImgparent.offsetHeight)+'px';
};
};
</script>
</head>
<body>
<div id="div1">
<img src="http://img.jiaochengji.com/demoimg/201102/11_2_2.jpg" />
<span></span>
<div class="show"></div>
</div>
<div id="div2">
<img id="img1" src="http://img.jiaochengji.com/demoimg/201102/11_2_2.jpg" />
</div>
</body>
</html>

您可能感兴趣的文章:
jQuery图片放大镜插件 magnifier
Javascript图片放大镜的实例分析
JavaScript图片放大镜的简单代码
jQuery 图片放大镜效果插件jQZoom的用法举例
js放大镜效果一例
jquery放大镜效果超漂亮噢
JS放大镜效果(简洁实用的放大镜效果)
CSS 滤镜效果:模糊、灰度、亮度等
在canvas上实现元素图片镜像翻转动画效果的方法
什么是canvas离屏技术?canvas放大镜效果如何实现?

关键词: 放大镜特效  图片放大镜   
[关闭]
~ ~