<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
        主站蜘蛛池模板: 国产免费人人看大香伊| 久久国产乱子伦精品免费午夜 | 又粗又大又硬又爽的免费视频 | a级毛片免费完整视频| 亚洲精品无码久久久| 亚洲免费在线播放| 青苹果乐园免费高清在线| 亚洲成人福利网站| 日本三级2019在线观看免费| 亚洲人成网站在线观看播放青青| 有色视频在线观看免费高清在线直播| 免费a级毛片在线观看| 一道本不卡免费视频| 国产亚洲综合久久系列| 久久青草免费91观看| 亚洲激情校园春色| 在线不卡免费视频| 一级毛片正片免费视频手机看| 亚洲精品久久久www| 色www永久免费网站| 亚洲最大在线观看| 国产无遮挡又黄又爽免费视频| 免费无码午夜福利片69| 亚洲日本va中文字幕久久| 久久精品国产免费观看三人同眠| 99亚偷拍自图区亚洲| 91精品免费高清在线| 国产精品亚洲综合久久| 亚洲精品偷拍视频免费观看| 日本不卡免费新一区二区三区| 亚洲国产精品人久久电影| 国产一级理论免费版| 免费无码黄网站在线看| 中文字幕在线观看亚洲视频| 亚洲国产专区一区| 最近2019年免费中文字幕高清 | 亚洲精品无码不卡在线播放| 亚洲伊人久久综合中文成人网| 免费人成在线观看网站品爱网 | 免费看国产曰批40分钟| 免费A级毛片无码A∨中文字幕下载|