• 20150620仿淘宝图片放大镜


    ps:img图片放正方形的图片,注意小图和大图
    
    html=========
    
    <div id="div" class="demo">
        <div id="small_pic">
            <span id="float_layer"></span>
            <img id='pic1' src="images/small.jpg" alt="放大镜图片一"/>
        </div>
        <div id="big_pic">
            <img id='pic2' src="images/big.jpg" alt="放大镜图片二"/>
        </div>
    </div>
    
    css==========
    
    *{margin: 0;padding: 0;}
    #div{ 350px;height: 350px;margin: 30px auto;position: relative;}
    #small_pic{ 350px;height: 350px;position: relative;}
    #float_layer{ 100px;height: 100px;background: #fff;opacity:0.3;position: absolute;left: 0;top: 0;display: none;}
    #big_pic{position: absolute;left: 360px;top: -1px; 250px;height: 250px;overflow: hidden;display: none;border:2px solid #ccc;}
    #big_pic img{position: absolute;}
    
    
    js===========
    
    function getClass(className) {
        var tags=document.getElementsByTagName('*');
        var arr=[];
        for (var i = 0; i < tags.length; i++) {
            if(tags[i].className.match(new RegExp("(\s+|^)"+className+"(\s+|$)"))){
                arr.push(tags[i]);
            }
        }
        return arr;
    }
    var small=document.getElementById('small_pic');
    var big=document.getElementById('big_pic');
    var pic1=document.getElementById('pic1');
    var pic2=document.getElementById('pic2');
    var float_layer=document.getElementById('float_layer');
    var div=document.getElementById('div');
    small.onmousemove=function (e) {
        var e=e||window.e;
        this.style.cursor='move';
        float_layer.style.display=big.style.display='block';
        var left=e.clientX-div.offsetLeft-float_layer.clientWidth/2;
        var top=e.clientY-div.offsetTop-float_layer.clientHeight/2;
        if(left<0){
            left=0;
        }else if(left>div.clientWidth-float_layer.clientWidth){
            left=div.clientWidth-float_layer.clientWidth;
        }
        if(top<0){
            top=0;
        }else if(top>div.clientHeight-float_layer.clientHeight){
            top=div.clientHeight-float_layer.clientHeight;
        }
        float_layer.style.left=left+'px';
        float_layer.style.top=top+'px';
        var scaleX=left/(div.clientWidth-float_layer.clientWidth);
        var scaleY=top/(div.clientHeight-float_layer.clientHeight);
        console.log(scaleX);
        pic2.style.left=-scaleX*(pic2.clientWidth-250)+'px';
    
        pic2.style.top=-scaleY*(pic2.clientHeight-250)+'px';
    }
    small.onmouseout=function () {
        float_layer.style.display=big.style.display='none';
    }
  • 相关阅读:
    SpringBoot(一)_快速实战搭建项目
    maven入门 (二)_私服安装与上传下载
    maven入门(一)
    Ionic 2 开发(一)_安装与目录结构
    echarts添加点击事件
    win下 git gui 使用教程
    安装centos6.3
    PAT甲级题分类汇编——图
    PAT甲级题分类汇编——树
    PAT甲级题分类汇编——理论
  • 原文地址:https://www.cnblogs.com/wz0107/p/4590458.html
Copyright © 2020-2023  润新知