美文网首页
JS 放大镜效果

JS 放大镜效果

作者: 刘英俊_02 | 来源:发表于2016-04-29 20:35 被阅读0次

效果在这里!!~

放大镜.gif

CSS样式


<style type="text/css">
            .min{
                width: 350px;
                height: 300px;
                border: 1px solid black;
                text-align: center;
                float: left;
                position: relative;
            }
            .max{
                width: 350px;
                height: 300px;
                border: 1px solid red;
                float: left;
                display: none;
                overflow: hidden;
                position: relative;
                
            }
            .max img{
                position: absolute;
            }
            .fd{
                width: 150px;
                height: 150px;
                background-color:white;
                opacity: 0.25;
                box-shadow: 0 0 10px;
                position: absolute;
                top: 0;
                left: 0;
                display: none;
            }
            
        </style>

HTML 布局

    <body>
        <div class="min">
            <img src="img/min.jpg"/>
            <div class="fd"></div>
        </div>
        <div class="max">
            <img src="img/max.jpg"/>
        </div>
    </body>

js部分~

    <script type="text/javascript">
        var min=document.querySelector(".min");
        var max=document.querySelector(".max");
        var fd=document.querySelector(".fd");
        var img=document.querySelector(".max img");
        
        min.onmouseover=function(){
            //1.鼠标覆盖 显示max 和fd 
            max.style.display="block";
            fd.style.display="block";
            //离开时隐藏
            min.onmouseout=function(){
                max.style.display="none";
                fd.style.display="none";    
            }
            //2.fd的移动范围
            min.onmousemove=function(){
                //鼠标触摸的点event.clientX  鼠标距离window边界的距离
                var x=event.clientX-min.offsetLeft-fd.offsetWidth/2;
                var y=event.clientY-min.offsetTop-fd.offsetHeight/2;

                //最大移动距离
                var maxX=min.clientWidth-fd.offsetWidth;
                var maxY=min.clientHeight-fd.offsetHeight;
                //边界判断 
                if(x<=0){
                    x=0;
                }else if(x>=maxX){
                    x=maxX;
                }
                if(y<=0){
                    y=0;
                }else if(y >= maxY){
                    y = maxY;
                }
                //fd的位置
                fd.style.left=x+"px";
                fd.style.top=y+"px";
                //fd/min=max/img
                //放大镜/小框=大框/大图
                //例如 比例计算 500 / 800  = fd / 500
                //移动比例
                var yidongX=x/maxX;
                var yidongY=y/maxY
                //移动
                //3.max的对应显示  把小图的比例乘以差值 得到大图的Left和top
                img.style.left=yidongX*(max.clientWidth-img.offsetWidth)+"px";
                img.style.top=yidongY*(max.clientHeight-img.offsetHeight)+"px";
            }
        }
    </script>

转载请注明出处喔~

相关文章

  • js 放大镜效果

    *{ margin:0; padding:0;} box{ pos...

  • JS 放大镜效果

    效果在这里!!~ CSS样式 HTML 布局 js部分~ 转载请注明出处喔~

  • js放大镜效果

    html css js

  • js放大镜效果

    效果: 代码:

  • js 放大镜效果

    思路:鼠标经过,显示/隐藏mask和rightBox图片当鼠标在盒子中移动的时候,mask和鼠标一起移动当mask...

  • js实现放大镜效果

    前言:在拿到一个需求之前,我们要先进行分析,再设计,最后实现代码的编写以及调试。 放大镜的原理分析 鼠标在小图片上...

  • JS_放大镜效果

    效果图如下: 一、CSS看源码吧! 二、JS代码真没有什么解释的,注释很清晰,,,,自己看吧 三、源码下载:吻我

  • 原生js放大镜效果

    原生js放大镜效果 1.静态页 2.css 3.js区 第一次发,希望大家多多支持,很高兴大家能提出意见或建议!!!

  • JS实现放大镜效果

    HTML部分: CSS部分: JS部分:

  • iOS放大镜效果实现-ASMagnifierManger

    ASMagnifierManger 放大镜效果。可更改放大倍数和放大镜大小 特点介绍 放大镜效果 放大镜形状自定义...

网友评论

      本文标题:JS 放大镜效果

      本文链接:https://www.haomeiwen.com/subject/lmckrttx.html