案例--放大镜(jq)

直接上图,图中有解析


$(function(){        
var myDiv=$('#myDiv')       
 $('#myDiv .smallPic').hover(function(){          
   $('#myDiv .float_lay').css({display:'block'})          
     $('#myDiv .bigPic').css({display:'block'})        },
function(){            
$('#myDiv .float_lay').css({display:'none'})           
 $('#myDiv .bigPic').css({display:'none'})        });      
   $('#myDiv .smallPic').on('mousemove',function(e){            
   var divPosi=$('#myDiv').offset();//取得图片距离页面的边距          
     var xx=e.clientX;            
     var yy=e.clientY;            
     //去除边框防止遮挡层出去不好看           
      //parseInt将px去掉           
       var maxX=parseInt($('.smallPic').width())-parseInt($('.float_lay').width())-parseInt($('.float_lay').css('border-width'))           
        var maxY=parseInt($('.smallPic').height())-parseInt($('.float_lay').height())-parseInt($('.float_lay').css('border-width'))            
        var picLeft=xx-divPosi.left-25;           
         var picTop=yy-divPosi.top-25;          
           var seePic=$('#myDiv .bigPic').width();           
            var bigPic=$('#myDiv .bigPic img').width();            
            var percentL;            
            var percentT;            
            //
  
            
              if(picLeft<0){               
               picLeft=0            }else if(picLeft>maxX){              
                 picLeft=maxX            }           
                  if(picTop<0){              
                    picTop=0            }else if(picTop>maxY){          
                          picTop=maxY            }           
                           $('#myDiv .float_lay').css({top:picTop+'px',left:picLeft+'px'})          
                             //数学相似原理:            
                             //  遮挡移动最大距离/大图移动最大距离=遮挡移动距离/大图移动距离            
                             percentL=-picLeft/maxX*(bigPic-seePic)           
                              percentT=-picTop/maxY*(bigPic-seePic)           
                               $('#myDiv .bigPic img').css({marginTop:percentT+'px',marginLeft:percentL+'px'})        });    });

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值