<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
        當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

        原生js實(shí)現(xiàn)淘寶放大鏡效果

        來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 22:04:28
        文檔

        原生js實(shí)現(xiàn)淘寶放大鏡效果

        原生js實(shí)現(xiàn)淘寶放大鏡效果:大家經(jīng)常逛淘寶、天貓、京東這類網(wǎng)站的時(shí)候往往會(huì)看到一些圖片展示的效果,例如:把鼠標(biāo)放在圖片上右側(cè)會(huì)出現(xiàn)一個(gè)放大的預(yù)覽區(qū)域,這就是所謂放大鏡效果。今天閑著沒(méi)事干,就打算復(fù)習(xí)一下JavaScript基礎(chǔ),用一下基礎(chǔ)知識(shí)制作一個(gè)類似于淘寶的放大鏡效果。 先
        推薦度:
        導(dǎo)讀原生js實(shí)現(xiàn)淘寶放大鏡效果:大家經(jīng)常逛淘寶、天貓、京東這類網(wǎng)站的時(shí)候往往會(huì)看到一些圖片展示的效果,例如:把鼠標(biāo)放在圖片上右側(cè)會(huì)出現(xiàn)一個(gè)放大的預(yù)覽區(qū)域,這就是所謂放大鏡效果。今天閑著沒(méi)事干,就打算復(fù)習(xí)一下JavaScript基礎(chǔ),用一下基礎(chǔ)知識(shí)制作一個(gè)類似于淘寶的放大鏡效果。 先

        大家經(jīng)常逛淘寶、天貓、京東這類網(wǎng)站的時(shí)候往往會(huì)看到一些圖片展示的效果,例如:把鼠標(biāo)放在圖片上右側(cè)會(huì)出現(xiàn)一個(gè)放大的預(yù)覽區(qū)域,這就是所謂放大鏡效果。今天閑著沒(méi)事干,就打算復(fù)習(xí)一下JavaScript基礎(chǔ),用一下基礎(chǔ)知識(shí)制作一個(gè)類似于淘寶的放大鏡效果。

        先說(shuō)一下這個(gè)效果需要用到的一些基礎(chǔ)知識(shí):

        css相對(duì)定位:position:absolute;

        鼠標(biāo)移入移出以及移動(dòng)事件:onmouseover、onmouseout、onmousemove,記住這些事件一般不會(huì)單個(gè)出現(xiàn)

        獲取鼠標(biāo)點(diǎn)擊坐標(biāo):X軸:clientX,Y軸:clientY

        當(dāng)前元素相對(duì)于父元素的左位移:offsetLeft

        當(dāng)前元素相對(duì)于父元素的上位移:offsetTop

        當(dāng)前元素的實(shí)際高、寬度(不包括滾動(dòng)條):offsetWidth、offsetHeight

        球當(dāng)前元素的最小值,最大值:Math.min()、Math.max();

        話不多說(shuō)直接上代碼吧!

        <!DOCTYPE html>
        <html lang="en">
        <head>
        <meta charset="UTF-8">
        <title>放大鏡效果</title>
        <style type="text/css">
        *{
        padding: 0;
        margin: 0;
        }
        #demo{
        display: block;
        width: 400px;
        height: 255px;
        margin: 50px;
        position: relative;
        border: 1px solid #ccc;
        }
        #float-box{
        position: relative;
        z-index: 1;
        }
        #small-box{
        display: none;
        width: 160px;
        height: 120px;
        position: absolute;
        background: #ffffcc;
        border: 1px solid #ccc;
        filter: alpha(opacity=50);
        opacity: 0.5;
        cursor: move;
        }
        #big-box{
        display: none;
        position: absolute;
        top: 0;
        left: 460px;
        width: 400px;
        height: 300px;
        overflow: hidden;
        border: 1px solid #ccc;
        z-index: 1;
         
         
        }
        #big-box img{
        position: absolute;
        z-index: 5;
        }
         
         
        </style>
        </head>
        <body>
        <div id="demo">
        <div id="float-box">
        <div id="small-box"></div>
        <img src="../images/macbook-small.jpg">
        </div>
        <div id="big-box">
        <img src="../images/macbook-big.jpg">
        </div>
        </div>
        <script type="text/javascript">
        window.onload = function(){
         
        //獲取到需要的元素
        var demo = document.getElementById('demo');
        var smallBbox = document.getElementById('small-box');
        var floatBox = document.getElementById('float-box');
        var bigBox = document.getElementById('big-box');
        var bigBoxImg = bigBox.getElementsByTagName('img')[0];
         
         
        floatBox.onmouseover = function(){
        smallBbox.style.display = "block";
        bigBox.style.display = "block";
        }
        floatBox.onmouseout = function(){
        smallBbox.style.display = "none";
        bigBox.style.display = "none";
        }
        floatBox.onmousemove = function(e){
        var _event = e || event;
        console.log(_event.clientY);
        var l = _event.clientX - demo.offsetLeft - floatBox.offsetLeft - smallBbox.offsetWidth/2;//除2是因?yàn)樽屖髽?biāo)點(diǎn)出現(xiàn)在放大遮罩的中心位置
        var t = _event.clientY - demo.offsetTop - floatBox.offsetTop - smallBbox.offsetHeight/2;
         
        var demoWidth = demo.offsetWidth;
        var demoHeight = demo.offsetHeight;
         
         
        var smallBboxWidth = smallBbox.offsetWidth;
        var smallBboxHeight = smallBbox.offsetHeight;
        //鼠標(biāo)可以移動(dòng)的最大XY的距離
        var maxX = demoWidth - smallBboxWidth;
        var maxY = demoHeight - smallBboxHeight;
         
         
        l = Math.min(maxX,Math.max(0,l));
        t = Math.min(maxY,Math.max(0,t));
        smallBbox.style.left = l +"px";
        smallBbox.style.top = t +"px";
         
         
        var percentX = l / (floatBox.offsetWidth - smallBboxWidth);//求出小圖遮罩的坐標(biāo)占可移動(dòng)區(qū)域的比例
        var percentY = t / (floatBox.offsetHeight - smallBboxHeight);
         
         
        bigBoxImg.style.left = -percentX *(bigBoxImg.offsetWidth - bigBox.offsetWidth) +"px";//大圖對(duì)的移動(dòng)方向和小圖遮罩的移動(dòng)方向相反
        bigBoxImg.style.top = -percentY*(bigBoxImg.offsetHeight - bigBox.offsetHeight)+"px";
         
        }
        }
        </script>
        </body>
        </html>

        聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        原生js實(shí)現(xiàn)淘寶放大鏡效果

        原生js實(shí)現(xiàn)淘寶放大鏡效果:大家經(jīng)常逛淘寶、天貓、京東這類網(wǎng)站的時(shí)候往往會(huì)看到一些圖片展示的效果,例如:把鼠標(biāo)放在圖片上右側(cè)會(huì)出現(xiàn)一個(gè)放大的預(yù)覽區(qū)域,這就是所謂放大鏡效果。今天閑著沒(méi)事干,就打算復(fù)習(xí)一下JavaScript基礎(chǔ),用一下基礎(chǔ)知識(shí)制作一個(gè)類似于淘寶的放大鏡效果。 先
        推薦度:
        • 熱門焦點(diǎn)

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 久久综合亚洲色一区二区三区| 亚洲av午夜精品一区二区三区| 亚洲AV日韩精品久久久久| 一级免费黄色毛片| 亚洲精品无码久久久| 一区二区三区免费视频网站 | 在线看片免费人成视久网| 亚洲av无码无在线观看红杏| 中文字幕高清免费不卡视频| 亚洲一区二区三区偷拍女厕| 成人免费无码H在线观看不卡| 亚洲日韩精品一区二区三区 | www.亚洲精品| a级毛片免费在线观看| 亚洲国产精品无码久久久蜜芽| 色www永久免费网站| 久久亚洲精品无码AV红樱桃| 国产又大又粗又长免费视频| 亚洲日韩av无码中文| 亚洲成?Ⅴ人在线观看无码| eeuss草民免费| 久久精品国产精品亚洲色婷婷| 无码精品人妻一区二区三区免费看 | 免费av片在线观看网站| 久久久亚洲欧洲日产国码二区 | 亚洲欧洲精品在线| 在线精品免费视频无码的| 亚洲国产成人AV网站| 亚洲无线观看国产精品| 在线免费观看亚洲| 亚洲AV无码国产剧情| 国产偷国产偷亚洲清高动态图| 18禁美女裸体免费网站| 亚洲av最新在线观看网址| 亚洲精品乱码久久久久久久久久久久 | 久久国产精品免费视频| 亚洲av午夜精品无码专区| 亚洲成a人片在线观看国产| 少妇人妻偷人精品免费视频| 亚洲成a人无码亚洲成av无码 | 中文字幕精品亚洲无线码二区|