
制作思路:“放大镜”后有一幅背景图,它是“放大了”的图的原本。我们通过移动“放大镜”时适当调整背景图的位置,使它显示的刚好是需要要放大的部分。
效果演示: (点这里在新窗口中查看)
制作步骤:
1)先准备两幅内容相同尺寸不同的图片,这里我们找了一个400×300像素的缩略图small_hill.gif,一个800×600像素的大图big_hill.gif。然后再准备一个“放大镜”的图片,注意它中间部分必须是透明的,这里我们准备了一个绿色的方框 viewer.gif。
2)编写如下的代码:
以下是两幅图的代码,都它们作为层。第一幅是缩略图,第二幅是“放大镜”,首先将它的背景移到不可见的地方; 其中“ onclick="moveme=!moveme" ”表示每次点击它都改变“moveme”的布尔值。
以下是JavaScript脚本: https://www.gxlcms.com/ documenthttps://www.gxlcms.com/.allhttps://www.gxlcms.com/.myviewer.style.backgroundImage=https://www.gxlcms.com/'url('https://www.gxlcms.com/+https://www.gxlcms.com/bigmap+https://www.gxlcms.com/')'https://www.gxlcms.com/; varhttps://www.gxlcms.com/ moveme=https://www.gxlcms.com/falsehttps://www.gxlcms.com/; //该布尔值决定“放大镜”是否随鼠标移动,初始值为否 https://www.gxlcms.com/ //以下几行调整当“放大镜”移动时其背景图的位置,使其中心移到缩略图的某点时,其背景图上相应的点也移动到其中心。 Ny=https://www.gxlcms.com/parseInthttps://www.gxlcms.com/(https://www.gxlcms.com/documenthttps://www.gxlcms.com/.allhttps://www.gxlcms.com/.getsize.height)https://www.gxlcms.com//https://www.gxlcms.com/parseInthttps://www.gxlcms.com/(https://www.gxlcms.com/documenthttps://www.gxlcms.com/.allhttps://www.gxlcms.com/.bgLayer.height)https://www.gxlcms.com/; obj.style.backgroundPosition=https://www.gxlcms.com/bgx+https://www.gxlcms.com/" "https://www.gxlcms.com/+https://www.gxlcms.com/bgy; "small_hill.gif"https://www.gxlcms.com/ id=https://www.gxlcms.com/"bgLayer"https://www.gxlcms.com/ style=https://www.gxlcms.com/"position:absolute; left:150px; top:50px;"https://www.gxlcms.com/>
"viewer.gif"https://www.gxlcms.com/ id=https://www.gxlcms.com/"myviewer"https://www.gxlcms.com/ onclick=https://www.gxlcms.com/"moveme=!moveme"https://www.gxlcms.com/ onmousemove=https://www.gxlcms.com/"viewit(this)"https://www.gxlcms.com/
style=https://www.gxlcms.com/"left:0;top:0;background-repeat:no-repeat; background-position:2000px 2000px;position:absolute;"https://www.gxlcms.com/>https://www.gxlcms.com/
varhttps://www.gxlcms.com/ viewer_bgcolor=https://www.gxlcms.com/"#FFFFFF"https://www.gxlcms.com/; //放大镜的背景色,建议设成和网页背景色相同。 https://www.gxlcms.com/
varhttps://www.gxlcms.com/ bigmap=https://www.gxlcms.com/"big_hill.gif"https://www.gxlcms.com/; //大图路径 https://www.gxlcms.com/
documenthttps://www.gxlcms.com/.allhttps://www.gxlcms.com/.myviewer.style.backgroundColor=https://www.gxlcms.com/viewer_bgcolor;
//因为大图作为背景无法设定和读取它的尺寸,只好把它的一个副本作为实图,但不可见: https://www.gxlcms.com/
documenthttps://www.gxlcms.com/.writehttps://www.gxlcms.com/(https://www.gxlcms.com/'+https://www.gxlcms.com/bigmap+https://www.gxlcms.com/'">'https://www.gxlcms.com/)https://www.gxlcms.com/;
functionhttps://www.gxlcms.com/ viewit(https://www.gxlcms.com/obj){https://www.gxlcms.com/
ifhttps://www.gxlcms.com/ (https://www.gxlcms.com/moveme){https://www.gxlcms.com/
//以下两行控制“放大镜”的移动: https://www.gxlcms.com/
obj.style.left=https://www.gxlcms.com/eventhttps://www.gxlcms.com/.x+https://www.gxlcms.com/parseInthttps://www.gxlcms.com/(https://www.gxlcms.com/documenthttps://www.gxlcms.com/.bodyhttps://www.gxlcms.com/.scrollLeft)https://www.gxlcms.com/-https://www.gxlcms.com/parseInthttps://www.gxlcms.com/(https://www.gxlcms.com/obj.width)https://www.gxlcms.com//https://www.gxlcms.com/2https://www.gxlcms.com/;
obj.style.top=https://www.gxlcms.com/eventhttps://www.gxlcms.com/.y+https://www.gxlcms.com/parseInthttps://www.gxlcms.com/(https://www.gxlcms.com/documenthttps://www.gxlcms.com/.bodyhttps://www.gxlcms.com/.scrollTop)https://www.gxlcms.com/-https://www.gxlcms.com/parseInthttps://www.gxlcms.com/(https://www.gxlcms.com/obj.height)https://www.gxlcms.com//https://www.gxlcms.com/2https://www.gxlcms.com/;
//其中Nx,Ny指大图宽和高分别是小图的几倍,bgx,bgy是背景图当移到的X,Y坐标。
https://www.gxlcms.com/ Nx=https://www.gxlcms.com/parseInthttps://www.gxlcms.com/(https://www.gxlcms.com/documenthttps://www.gxlcms.com/.allhttps://www.gxlcms.com/.getsize.width)https://www.gxlcms.com//https://www.gxlcms.com/parseInthttps://www.gxlcms.com/(https://www.gxlcms.com/documenthttps://www.gxlcms.com/.allhttps://www.gxlcms.com/.bgLayer.width)https://www.gxlcms.com/;
bgx=https://www.gxlcms.com/(https://www.gxlcms.com/-https://www.gxlcms.com/1https://www.gxlcms.com/)https://www.gxlcms.com/*https://www.gxlcms.com/(https://www.gxlcms.com/Nx-https://www.gxlcms.com/1https://www.gxlcms.com/)https://www.gxlcms.com/*https://www.gxlcms.com/(https://www.gxlcms.com/eventhttps://www.gxlcms.com/.x-https://www.gxlcms.com/parseInthttps://www.gxlcms.com/(https://www.gxlcms.com/documenthttps://www.gxlcms.com/.allhttps://www.gxlcms.com/.bgLayer.style.left)https://www.gxlcms.com/+https://www.gxlcms.com/parseInthttps://www.gxlcms.com/(https://www.gxlcms.com/documenthttps://www.gxlcms.com/.bodyhttps://www.gxlcms.com/.scrollLeft))https://www.gxlcms.com/-https://www.gxlcms.com/parseInthttps://www.gxlcms.com/(https://www.gxlcms.com/obj.style.left)https://www.gxlcms.com/+https://www.gxlcms.com/parseInthttps://www.gxlcms.com/(https://www.gxlcms.com/documenthttps://www.gxlcms.com/.allhttps://www.gxlcms.com/.bgLayer.style.left)https://www.gxlcms.com/;
bgy=https://www.gxlcms.com/(https://www.gxlcms.com/-https://www.gxlcms.com/1https://www.gxlcms.com/)https://www.gxlcms.com/*https://www.gxlcms.com/(https://www.gxlcms.com/Ny-https://www.gxlcms.com/1https://www.gxlcms.com/)https://www.gxlcms.com/*https://www.gxlcms.com/(https://www.gxlcms.com/eventhttps://www.gxlcms.com/.y-https://www.gxlcms.com/parseInthttps://www.gxlcms.com/(https://www.gxlcms.com/documenthttps://www.gxlcms.com/.allhttps://www.gxlcms.com/.bgLayer.style.top)https://www.gxlcms.com/+https://www.gxlcms.com/parseInthttps://www.gxlcms.com/(https://www.gxlcms.com/documenthttps://www.gxlcms.com/.bodyhttps://www.gxlcms.com/.scrollTop))https://www.gxlcms.com/-https://www.gxlcms.com/parseInthttps://www.gxlcms.com/(https://www.gxlcms.com/obj.style.top)https://www.gxlcms.com/+https://www.gxlcms.com/parseInthttps://www.gxlcms.com/(https://www.gxlcms.com/documenthttps://www.gxlcms.com/.allhttps://www.gxlcms.com/.bgLayer.style.top)https://www.gxlcms.com/;
}
}https://www.gxlcms.com/
//--> https://www.gxlcms.com/
script>https://www.gxlcms.com/
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
