zoukankan      html  css  js  c++  java
  • 放大镜效果

    HTML

    <div id="div1">
    	<img src="img/big.jpg"/>
    	<span></span>
    	<div class="mark"></div>
    </div>
    <div id="div2">
    	<img src="img/big.jpg"/>
    </div>
    

    CSS

    #div1{
    	 400px;
    	height: 200px;
    	overflow: hidden;
    	position: relative;
    }
    #div1 img{
    	 100%;
    	height: 100%;
    }
    .mark{
    	 100%;
    	height: 100%;
    	position: absolute;
    	left: 0;
    	top: 0;
    	background: transparent;
    }
    #div1 span{
    	position: absolute;
    	 100px;
    	height: 100px;
    	background: yellow;
    	opacity: 0.5;
    	filter: alpha(opacity=50);
    	left: 0;
    	top: 0;
    	display: none;
    	z-index: 9999;
    }
    #div2{
    	 300px;
    	height: 300px;
    	margin-top: 20px;
    	display: none;
    	overflow: hidden;
    	position: relative;
    }
    #div2 img{
    	 800px;
    	height: 400px;
    	position: absolute;
    }
    

    JS

    //span抖动闪现
    //1.js:onmouseenter/onmouseleave
    //最早ie firefox chrome,做兼容非常的麻烦
    //css:加一个曾
    var oDiv=document.getElementById('div1');
    var oDiv1=document.getElementById('div2');
    var oSpan=oDiv.getElementsByTagName('span')[0];
    var oImg=oDiv1.getElementsByTagName('img')[0];
    
    oDiv.onmouseover=function(){
    	oSpan.style.display='block';
    	oDiv1.style.display='block';
    };
    oDiv.onmouseout=function(){
    	oSpan.style.display='none';
    	oDiv1.style.display='none';
    };
    oDiv.onmousemove=function(ev){
    	var ev=ev||event;
    	
    	var disX=ev.clientX-oDiv.offsetLeft-oSpan.offsetWidth/2;
    	var disY=ev.clientY-oDiv.offsetTop-oSpan.offsetHeight/2;
    	
    	//限制范围
    	//左右
    	if(disX<0){
    		disX=0;
    	}else if(disX>oDiv.clientWidth-oSpan.offsetWidth){
    		disX=oDiv.clientWidth-oSpan.offsetWidth;
    	}
    	//上下
    	if(disY<0){
    		disY=0;
    	}else if(disY>oDiv.clientHeight-oSpan.clientHeight){
    		disY=oDiv.clientHeight-oSpan.clientHeight;
    	}
    	
    	oSpan.style.left=disX+'px';
    	oSpan.style.top=disY+'px';
    	
    	//比例
    	var scaleX=disX/(oDiv.clientWidth-oSpan.offsetWidth);
    	var scaleY=disY/(oDiv.clientHeight-oSpan.clientHeight);
    	
    	oImg.style.left=-(oImg.offsetWidth-oDiv1.offsetWidth)*scaleX+'px';
    	oImg.style.top=-(oImg.offsetHeight-oDiv1.offsetHeight)*scaleY+'px';
    }
    

      

     

  • 相关阅读:
    Fiddler_AutoReponse_钓鱼网站原理和如何形成的&如何mock未开发好的页面来进行测试?
    HTTP 协议详解
    Appium元素定位-Toast
    Appium常用APi03
    Appium常用API 02
    Appium常用API_实现页面跳转(包括APP内部页面和APP 相互跳转)
    appium操作之手势操作-多点触摸(地图放大缩小)
    app自动化之手势(九宫格)滑动解锁
    常用 cmd 命令
    『转载』webGIS 概述
  • 原文地址:https://www.cnblogs.com/yangxue72/p/8436108.html
Copyright © 2011-2022 走看看