javascript實現的放大效果程式碼
放大鏡效果在很多網站都有應用,特別是產品網站 ,比如商城的產品展示效果,淘寶網就是一個典型的例子,淘寶網的放大鏡效果實現方法不得而知,實現此效果的方式有多種,下面就介紹其中的一種。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> #magnifier { width:230px; height:346px; position:relative; margin:100px; } #magnifier .small_pic { width:230px; height:346px; position:relative; } #magnifier .small_pic img { float:left; display:block; } #magnifier .float_layer { width:130px; height:130px; background:url(mytest/demo/zhezhao.png) repeat; position:absolute; top:0; left:0; display:none; } #magnifier .big_pic { width:400px; height:400px; position:absolute; top:0px; left:240px; overflow:hidden; display:none; border:1px solid #e2e2e2; } #magnifier .big_pic img { position:absolute; top:0; left:0; } </style> <script type="text/javascript"> function getByClass(oParent,sClass) { var aEle=oParent.getElementsByTagName("*"); var aResult=[]; for(var i=0;i<aEle.length;i++) { if(aEle[i].className==sClass) { aResult.push(aEle[i]); } } return aResult; } window.onload=function () { var oMagnifier=document.getElementById("magnifier"); var osmall_pic=getByClass(oMagnifier,'small_pic')[0]; var oFloat=getByClass(oMagnifier,'float_layer')[0]; var oBig=getByClass(oMagnifier,'big_pic')[0]; var oImg=oBig.getElementsByTagName('img')[0]; osmall_pic.onmouseover=function() { oFloat.style.display="block"; oFloat.style.cursor="move"; oBig.style.display="block"; } osmall_pic.onmouseout=function() { oFloat.style.display="none"; oBig.style.display="none"; } osmall_pic.onmousemove=function(ev) { var oEvent=ev||event; var scrollTop=document.documentElement.scrollTop||document.body.scrollTop; var l=oEvent.clientX-oMagnifier.offsetLeft-oFloat.offsetWidth/2; var t=oEvent.clientY-oMagnifier.offsetTop-oFloat.offsetHeight/2; if(l<=0) { l=0; } else if(l>osmall_pic.offsetWidth-oFloat.offsetWidth) { l=osmall_pic.offsetWidth-oFloat.offsetWidth; } if(t<=0) { t=0; } else if(t>osmall_pic.offsetHeight-oFloat.offsetHeight) { t=osmall_pic.offsetHeight-oFloat.offsetHeight; } oFloat.style.left=l+"px"; oFloat.style.top=t+scrollTop+"px"; var oPercentX=l/(osmall_pic.offsetWidth-oFloat.offsetWidth); var oPercentY=t/(osmall_pic.offsetHeight-oFloat.offsetHeight); oImg.style.left=-oPercentX*(oImg.offsetWidth-oBig.offsetWidth)+"px"; oImg.style.top=-oPercentY*(oImg.offsetHeight-oBig.offsetHeight)+"px"; } } </script> </head> <body> <div id="magnifier"> <div class="small_pic"> <span class="float_layer"></span> <img src="mytest/demo/thesmall.jpg"> </div> <div class="big_pic"><img src="mytest/demo/thebig.jpg" alt=""></div> </div> </body> </html>
相關文章
- Canvas實現放大鏡效果完整案例分析(附程式碼)Canvas
- javascript實現animate()動畫效果程式碼例項JavaScript動畫
- javascript實現的淡入淡出效果程式碼例項JavaScript
- javascript實現的燃放煙火效果程式碼例項JavaScript
- javascript實現的動畫效果簡單例項程式碼JavaScript動畫單例
- canvas實現的圖片放大鏡效果Canvas
- javascript實現的簡單驗證碼效果程式碼例項JavaScript
- 直播app開發搭建,純javascript實現圖片放大鏡效果APPJavaScript
- javascript模擬實現ArrayList效果程式碼例項JavaScript
- JavaScript 圖片放大鏡效果JavaScript
- javascript實現的數字分頁效果程式碼例項JavaScript
- 實現四捨五入效果的javascript程式碼例項JavaScript
- javascript實現的div塊閃爍效果程式碼例項JavaScript
- javascript模擬實現連結的title效果例項程式碼JavaScript
- javascript動態實現的表單提交效果程式碼例項JavaScript
- SVG點選實現動態放大的圓效果SVG
- javascript實現浮點數四捨五入效果程式碼JavaScript
- javascript模擬實現滾動條效果程式碼例項JavaScript
- 滑鼠放在連結上實現字型放大效果
- 利用 OmniGraffle 實現放大鏡標註效果
- CSS3實現的圓球放大縮小效果CSSS3
- js 實現程式碼雨效果JS
- Jquery實現的高亮效果程式碼分享jQuery
- CSS實現的換行效果程式碼CSS
- Javascript實現動畫效果JavaScript動畫
- 圖片放大鏡效果實現過程詳解
- 用JavaScript中jQuery編寫放大鏡效果JavaScriptjQuery
- JavaScript和css3點贊放大效果JavaScriptCSSS3
- 線上直播系統原始碼,使用ValueAnimator實現view放大縮小動畫效果原始碼View動畫
- 利用JavaScript實現註冊頁面省市聯動效果(附程式碼)JavaScript
- javascript元素內容漸現效果程式碼例項JavaScript
- javascript實現放大鏡外掛【含進階】JavaScript
- canvas實現的驗證碼效果程式碼例項Canvas
- DCI的一個Javascript實現程式碼JavaScript
- JavaScript 實現sprintf 功能程式碼JavaScript
- jquery實現的分頁效果例項程式碼jQuery
- canvas實現的鋸齒效果程式碼例項Canvas
- CSS3實現的多重背景效果程式碼CSSS3