亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

    仿天貓商城圖片放大鏡效果總結

    asal 2018-12-31 22:27:33 271
    abstrak:<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>照片墻</title> <link rel="stylesheet" type="text/css&quo
    <!DOCTYPE html>
    <html>
    <head>
    	<meta charset="utf-8">
    	<title>照片墻</title>
    	<link rel="stylesheet" type="text/css" href="static/font-awesome-4.7.0/css/font-awesome.min.css">
        <link rel="stylesheet" type="text/css" href="static/style7.css">
        <script type="text/javascript" src="static/jquery-3.3.1.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').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':-lw*3+'px',
                           	 'top':-lh*3+'px'
                           })
                    })               
        		})
        		$('#normal').mouseleave(function(){
        			$('#show').hide()
        			$('#big').hide()
        		})
        		})
        </script>
    </head>
    <body>
    	<div id="normal">
    		<img src="static/images/32.jpg">
    		<div id="show"></div>
    	</div>
    	<div id="big">
    		<img src="static/images/32.jpg">
    	</div>
    </body>
    
    </html>
    *{margin: 0px;padding: 0px;}
    #normal{width: 450px;height:450px;border:1px solid #000;position: fixed;top: 20px;left:20px;}/*展示圖*/
    #normal img{width: 100%;height: 100%;}
    #show{width: 150px;height: 150px;background: #754930;opacity: 0.4;position: absolute;display: none;}  /*放大鏡區(qū)域的長寬*/
    #big{width: 450px;height:450px;border:1px solid #000;position: relative;left: 520px;top: 20px;overflow: hidden;}  /*放大鏡的長寬*/
    #big>img{position: absolute;width: 1350px;height: 1350px;}  /*放大區(qū)域內(nèi)部圖片的長寬*/
    /*放大鏡內(nèi)部圖片的長寬/展示圖 = 放大鏡長寬/放大鏡區(qū)域的長寬*/

    通過計算展示圖到窗口left和top的距離,小框到到窗口left和top的距離,展示圖的寬度,小框的寬度,相減來確定鎖定小框移動范圍。通過小框的偏移位置來實現(xiàn)圖片放大效果

    QQ圖片20181231221552.png

    Guru membetulkan:天蓬老師Masa pembetulan:2018-12-31 22:35:34
    Rumusan guru:var x=e.clientx , 其實這里用let x = e.clientx更合適 , 想一下這是為什么?

    Nota Keluaran

    Penyertaan Popular