首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > CSS >

JS+CSS兑现图片放大预览效果

2012-11-23 
JS+CSS实现图片放大预览效果meta http-equivContent-Type contenttext/html charsetutf-8 /tit

JS+CSS实现图片放大预览效果

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>JS+CSS实现图片放大预览效果(js图片放大预览鼠标滑过的任意位置_365CSS.CN</title><script language="JavaScript"><!--var srcX = 1024; //原图大小,可以任意设置var srcY = 768;var bigX = 300; //预览窗大小,可以任意设置var bigY = 225;var smallX = 300; //缩略图宽度var smallY = srcY * smallX / srcX;var viewX = bigX / srcX * smallX; //预览范围var viewY = bigY / srcY * smallY;var bl = srcX / smallX;//缩小比例var border = 1; //边框window.onload=function (){        head.innerHTML="JS+CSS实现图片放大预览效果,鼠标可以滑动图片任意地方";        smallpic.width=smallX;        smallpic.height=smallY;        bigpic.width=srcX;        bigpic.height=srcY;        view.style.width=viewX;        view.style.height=viewY;        smallbox.style.borderWidth=border;        bigbox.style.borderWidth=border;        if (window.event){                smallbox.style.width=smallpic.offsetWidth+border*2;                smallbox.style.height=smallpic.offsetHeight+border*2;                bigbox.style.width=bigX+border*2;                bigbox.style.height=bigY+border*2;        }else{                smallbox.style.width=smallpic.offsetWidth;                smallbox.style.height=smallpic.offsetHeight;                bigbox.style.width=bigX;                bigbox.style.height=bigY;        }        move(event);}function move(e){        var e = window.event?window.event:e;        var iebug = 0;        if (window.event){                var vX = e.offsetX - viewX/2;                var vY = e.offsetY - viewY/2;        }else{                var vX = e.pageX - viewX/2 - smallbox.offsetLeft - border;                var vY = e.pageY - viewY/2 - smallbox.offsetTop - border;                iebug = 2;        }        if (vX < 0) vX = 0;        if (vY < 0) vY = 0;        if (vX > smallX - viewX - iebug) vX = smallX - viewX - iebug;        if (vY > smallY - viewY - iebug) vY = smallY - viewY - iebug;        bigpico.style.marginLeft = - vX * bl         bigpico.style.marginTop = - vY * bl         view.style.left = vX + smallbox.offsetLeft + border;        view.style.top = vY + smallbox.offsetTop + border;}//--></script><style type="text/css"><!--*{padding:0;margin:0}img{display:block;}#smallbox{border:1px #c33 solid;float:left;width:0;height:0;overflow:hidden}#bigbox{border:1px #c33 solid;width:0px;height:0px;float:left;overflow:hidden}#view{border:1px #ddd solid;width:0px;height:0px;position:absolute}#head{text-align:center;line-height:40px;font:bold 16px/40px;color:red}//--></style><div id="head"></div><div id="smallbox"><img src="1.jpg"      name="smallpic"      width="300"       height="300"       border="0"      id="smallpic"     onmousemove="move(event)"        onmouseover="document.getElementById('bigbox').                  style.display='';                  document.getElementById('view').                  style.display=''"     onmouseout="document.getElementById('bigbox')                 .style.display='none';                 document.getElementById('view').                 style.display='none'"></div><div id="bigbox"  style="display:none">  <div id="bigpico">    <img src="1.jpg" name="bigpic" width="300" height="300"       border="0" id="bigpic">  </div></div><div id="view" onmousemove="move(event) "style="display:none"></div>

热点排行