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
- 直播app開發搭建,純javascript實現圖片放大鏡效果APPJavaScript
- JavaScript 圖片放大鏡效果JavaScript
- SVG點選實現動態放大的圓效果SVG
- js 實現程式碼雨效果JS
- Jquery實現的高亮效果程式碼分享jQuery
- 利用JavaScript實現註冊頁面省市聯動效果(附程式碼)JavaScript
- 用JavaScript中jQuery編寫放大鏡效果JavaScriptjQuery
- javascript實現放大鏡外掛【含進階】JavaScript
- JavaScript實現選項卡效果JavaScript
- JavaScript實現文字豎排效果JavaScript
- JavaScript中的繼承及實現程式碼JavaScript繼承
- JavaScript彈幕效果程式碼詳解JavaScript
- html實現簡單ListViews效果的例項程式碼HTMLView
- 線上直播系統原始碼,使用ValueAnimator實現view放大縮小動畫效果原始碼View動畫
- Swift如何純程式碼實現時鐘效果Swift
- JavaScript實現隨機抽獎效果JavaScript隨機
- 180行JavaScript程式碼實現的小球隨機移動程式碼JavaScript隨機
- 圓形放大的hover效果
- 《整潔程式碼cleancode》的javascript原始碼實現專案JavaScript原始碼
- 微信小程式功能之全屏滾動效果的實現程式碼微信小程式
- 【unity小技巧】實現FPS武器的瞄準放大效果(UGUI實現反向遮罩,全屏遮擋,區域性鏤空效果)UnityUGUI遮罩
- JavaScript實現佇列(程式碼+測試)JavaScript佇列
- jQuery 放大鏡效果jQuery
- 一行程式碼實現ViewPager卡片效果行程Viewpager
- 150行JavaScript程式碼實現擴增實境JavaScript
- JavaScript、CSS實現滑鼠跟隨繁花效果JavaScriptCSS
- JavaScript模擬拋物運動的程式碼實現JavaScript
- 簡單實現幾種常見的前端效果,附程式碼!前端
- 一行程式碼實現 UIView 鏤空效果行程UIView
- html網頁中如何實現居中效果(程式碼分享)HTML網頁
- 京東放大鏡效果
- JS實現動態瀑布流及放大切換圖片效果(js案例)JS
- 幻術,一行程式碼實現鏤空效果行程
- CSS3現菱形效果程式碼CSSS3
- jQuery 放大鏡效果詳解jQuery
- 【前端】javascript實現導航欄筋斗雲效果特效前端JavaScript特效
- 直播系統程式碼,Android自定義View實現呼吸燈效果AndroidView
- 30行Javascript程式碼實現圖片懶載入JavaScript