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

    用原生js,实现放大镜效果

    css

    	<style>
    		*{
    			margin:0;
    			padding:0;
    		}
    		#box{
    			350px;
    			height:350px;
    			border:1px solid #000;
    			margin:100px;
    			position:relative;
    		}
    		#big{
    			400px;
    			height:400px;
    			border:1px solid #000;
    			position:absolute;
    			top : 0;
    			left : 360px;
    			overflow:hidden;
    			display:none;
    		}
    		#mask{
    			175px;
    			height:175px;
    			background:pink;
    			opacity:0.3;
    			position:absolute;
    			top:0;
    			left:0;
    			cursor:move;
    			display:none
    		}
    		#small{
    			position:relative;
    		}
    		#bigImg{
    			position:absolute;
    			left:0;
    			top:0;
    		}
    	</style>
    

      html

    <div id="box">
    	<div id="small">
    		<img src="images/iphone.jpg" alt="" id="smallImg"/>
    		<div id="mask"></div>
    	</div>
    	<div id="big">
    		<img src="images/iphone_big.jpg" alt="" id="bigImg"/>
    	</div>
    </div>
    

      js

    <script>
    	var small = document.getElementById("small");
    	var smallImg = document.getElementById("smallImg");
    	var mask = document.getElementById("mask");
    	var big = document.getElementById("big");
    	var bigImg = document.getElementById("bigImg");
    	var box = document.getElementById("box");
    	small.onmouseover = function(){
    		mask.style.display = "block";
    		big.style.display = "block";
    	}
    	small.onmouseout = function(){
    		mask.style.display = "none";
    		big.style.display = "none";
    	}
    	small.onmousemove = function(e){
    		var e = e || event;
    		var x = e.pageX - box.offsetLeft - mask.offsetWidth / 2 ;
    		var y = e.pageY - box.offsetTop - mask.offsetHeight / 2 ;	
    		var maxL = box.offsetWidth - mask.offsetWidth;
    		var maxT = box.offsetHeight - mask.offsetHeight;
    		x = x < 0 ? 0 : x > maxL ? maxL : x;
    		y = y < 0 ? 0 : y > maxT ? maxT : y;
    		mask.style.left = x + "px";
    		mask.style.top = y + "px";
    		
    		var bigL = x * (bigImg.offsetWidth - big.offsetWidth) / (box.offsetWidth - mask.offsetWidth);
    		var bigT = y * (bigImg.offsetHeight - big.offsetHeight) / (box.offsetHeight - mask.offsetHeight);
    		bigImg.style.left = - bigL + "px";
    		bigImg.style.top = - bigT + "px";
    	}
    </script>
    

      

  • 相关阅读:
    ios开发之-- tableview/collectionview获取当前点击的cell
    使用 urllib 进行身份验证
    关于 Handler 与 opener
    使用 urllib 构造请求对象
    使用 urllib 发送请求
    urllib 基础模块
    urllib 简介
    网络爬虫的分析算法
    网络爬虫的更新策略
    网络爬虫的爬行策略
  • 原文地址:https://www.cnblogs.com/xiaoyaolang/p/11906889.html
Copyright © 2011-2022 走看看