zoukankan      html  css  js  c++  java
  • js图片放大镜

    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <style>
    #small {
         300px;
        height:300px;
        border: #000 1px solid;
        float:left;
        position: relative;
    }
    #small img {
         300px;
        height: 300px;
    }

    #small span {
        display: block;
         120px;
        height: 120px;
        background: red;
        opacity: .5;
        border: #333 1px solid;
        position: absolute;
        left: 0;
        top: 0;
        display: none;
    }

    #big {
         300px;
        height: 300px;
        border: #000 1px solid;
        float: left;
        margin-left: 20px;
        overflow: hidden;
        position: relative;
        display: none;
    }

    #big img {
        position: absolute;
    }
    </style>
    <script>
    window.onload = function(){
        var oSmall  = document.getElementById('small');
        var oMask = document.getElementById('mask');
        var oBig = document.getElementById('big');
        var oImg = document.getElementById('bigimg');
        
        oSmall.onmouseover = function(){
            oMask.style.display = 'block';
            oBig.style.display ='block';    
        }
        
        oSmall.onmouseout = function(){
            oMask.style.display = 'none';
            oBig.style.display = 'none';    
        }
        
        oSmall.onmousemove = function(ev){
            var oEvent = ev || event;
            var l = oEvent.clientX - oMask.offsetWidth/2;
            var t = oEvent.clientY - oMask.offsetHeight/2;
            
            if(l < 0){
                l = 0;    
            }else if( l > oSmall.offsetWidth - oMask.offsetWidth){
                l = oSmall.offsetWidth - oMask.offsetWidth;    
            }
            
            if(t < 0){
                t = 0;    
            }else if(t > oSmall.offsetHeight - oMask.offsetHeight){
                t = oSmall.offsetHeight - oMask.offsetHeight;    
            }
            oMask.style.left = l + 'px';
            oMask.style.top = t + 'px';
            
            oImg.style.left = l * (oBig.offsetWidth - oImg.offsetWidth) / (oSmall.offsetWidth - oMask.offsetWidth) + 'px';
            
            oImg.style.top = t * (oBig.offsetHeight - oImg.offsetHeight) / (oSmall.offsetHeight - oMask.offsetHeight) + 'px';
        }
    }
    </script>
    </head>

    <body>
    <div id="small">
        <img src="s.jpg" alt=""/>
        <span id="mask"></span>
    </div>
    <div id="big">
        <img src="b.jpg" alt="" id="bigimg"/>
    </div>
    </body>
    </html>

  • 相关阅读:
    selenium加载配置参数,让chrome浏览器不出现‘Chrome正在受到自动软件的控制’的提示语,以及后台静默模式运行,不占用桌面的方法
    CentOS7使用firewalld打开关闭防火墙与端口
    LVM基本介绍与常用命令
    CentOS 7 网络配置详解
    rm删除破折号开头的文件或目录
    linux时间的查看与修改
    linux 下shell中if的“e,d,f”是什么意思
    selenium之 定位以及切换frame(iframe)
    Unix/Linux 命令速查表
    History(历史)命令用法 15 例
  • 原文地址:https://www.cnblogs.com/guolimin/p/6099458.html
Copyright © 2011-2022 走看看