返回仿天猫放大镜效......登陆

仿天猫放大镜效果

关超2019-05-03 19:24:33276
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>仿天猫商城图片放大镜效果</title> 
        <link rel="shortcut icon"  href="static/images/logo.png" type="image/x-icon" />
        <link rel="stylesheet" href="static/css/style.css" type="text/css">
        <script type="text/javascript" src="static/js/jquery.js"></script> 
        <script type="text/javascript">
        	$(function() {
	        	$('#big').hide()
	        	$('#normal').mouseover(function(){
	        		$('#show').show()
	        		$('#big').show()
	        		$(this).mousemove(function(yd){
	        			//小方块跟随鼠标移动而移动
	                   $('#show').css({
	                   	'left':yd.pageX-$('#show').width()/2,
	                   	'top':yd.pageY-$('#show').height()/2

	                   })
	                   })
	        		//绑定鼠标在normal内部移动
	        		$('#normal').mousemove(function(e){
	        			//获取鼠标的当前位置
	        			var x=e.clientx
	        			var y=e.clienty
	        			//获取原图窗口距离文档的偏移位置
	        			var dx=$('#normal').offset().left;
	        			var dy=$('#normal').offset().top;
	        			//计算鼠标的相对位置
	        			var sx=x-dx
	        			var sy=y-dy
	        			//小框的宽高
	        			var mw=$('#show').width()/2
	        			var mh=$('#show').height()/2
	        			//给入鼠标移动,小框移动的距离
	        			$('#show').css({left:sx-mw+'px',top:sy-mh+'px'})

	        			//控制小框框只能在原图窗口的范围内移动
	        			//获取小框的偏移位置
	        			var lw=$('#show').position().left;
	        			var lh=$('#show').position().top;

	        			var maxW=$('#normal').width()-$('#show').width()
	        			var maxH=$('#normal').height()-$('#show').height()
	        			//左
	        			if(lw<=0){$('#show').css('left','0px')}
                           //右
	        			if(lw>=maxW){$('#show').css('left',maxW+'px')}
	        				//左
	        			if(lh<=0){$('#show').css('top','0px')}
                           //右
	        			if(lh>=maxH){$('#show').css('top',maxH+'px')}

                       //获取小框的偏移位置
	        			var lw=$('#show').position().left;
	        			var lh=$('#show').position().top;


	        			var newX=lw*3
	        		    var newY=lh*3
	        		    $('#big').find('img').css({
	        		    	'left':-newX+'px',
	        		    	'top':-newY+'px'
	        		    })



	        		})
	        	})
	            $('#normal').mouseleave(function(){
	            		$('#show').hide()
	        		    $('#big').hide()

	            })

        	})
        </script>
    </head>
    <body>
    	<div id="normal">
    		<img src="static/images/5.jpg">
    		<div id="show"></div>
    	</div>
    	<div id="big">
    		<img src="static/images/5.jpg">    		
    	</div>

    </body>
</html>

QQ图片20190503192401.png

最新手记推荐

• 用composer安装thinkphp框架的步骤• 省市区接口说明• 用thinkphp,后台新增栏目• 管理员添加编辑删除• 管理员添加编辑删除

全部回复(0)我要回复

暂无评论~
  • 取消回复发送