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

    今天我们来写一下jQuery的效果来上代码

    1,html代码

    1       <div id='small'><img src="./icon/images/sj1.jpg" alt="" width='100%'><div id='move'></div></div>
    2         <ul id="images">
    3           <li><img class="imgs" src="./icon/images/sj1.jpg" alt="" width="100%"></li>
    4           <li><img class="imgs" src="./icon/images/sj6.jpg" alt="" width="100%"></li>
    5           <li><img class="imgs" src="./icon/images/sj7.jpg" alt="" width="100%"></li>
    6         </ul>
    7         <div id='big'><img src="./icon/images/sj1.jpg" alt="" id='img'></div>

    2,css代码

    1 #small{border:1px solid #ccc;position: absolute;top:220px;}
    2 #move{width:150px;height:100px;position: absolute;left:0;top:0;background: url(bg.png);display: none;}
    3 #images{position: absolute;top:560px;left:200px;width:1000px;height:100px;}
    4 #images li { width: 70px;height: 70px;float: left;margin-right: 10px;border: solid 1px #ccc;padding:4px;}
    5 #big{width:300px;height:308px;text-align:center;border:1px solid #ccc;position: absolute;left:500px;top:220px;overflow:hidden;display: none;}
    6 #big #img{position: absolute;left:-100px;}

    3,jQuery代码

     1  //===============================放大镜开始===========================
     2          $("#images img").click(function (){
     3              var src = $(this).attr("src");
     4              //小图 大图
     5              $("#small img").attr("src",src);
     6              $("#big img").attr("src",src);
     7          });
     8          //2 鼠标移动 
     9          $('#small').mousemove(function(ent){
    10              //大盒子显示 放大镜显示
    11              $("#big").css("display","block");
    12              $("#move").css("display","block");
    13              //获得鼠标
    14              var ent  = ent || window.event;
    15              var m_w = $("#move").width();
    16              var m_h = $("#move").height();
    17              //放大镜不能出盒子范围 
    18              var minX = $("#small").offset().left+m_w/2;
    19              var maxX = $("#small").width()+$("#small").offset().left-m_w/2;
    20              var minY = $("#small").offset().top+m_h/2;
    21              var maxY = $("#small").height()+$("#small").offset().top-m_h/2;
    22              if(ent.pageX<minX){
    23                  ent.pageX=minX;
    24              }else if(ent.pageX>maxX){
    25                  ent.pageX=maxX;
    26              }else{
    27                  $("#move").css("left",(ent.pageX-m_w/2-$("#small").offset().left));
    28                  // $("#move").css("left",(ent.pageX-$("#small").offset().left));
    29              }
    30              if(ent.pageY<minY){
    31                  ent.pageY=minY;
    32              }else if(ent.pageY>maxY){
    33                  ent.pageY=maxY;
    34              }else{
    35                  $("#move").css("top",(ent.pageY-m_h/2-$("#small").offset().top));
    36                  // $("#move").css("top",(ent.pageY-$("#small").offset().top));
    37              }
    38              //大盒子随鼠标的移动位置
    39              $("#big").scrollTop((ent.pageY-$("#small").offset().top)*2.5-200);
    40              $("#big").scrollLeft((ent.pageX-$("#small").offset().left)*2.5-250);
    41              //添加鼠标样式
    42              $("#small").css("cursor","move");
    43          });
    44          //3 鼠标移出
    45          $("#small").mouseout(function(){
    46              $("#big").css("display","none");
    47              $("#move").css("display","none");
    48              $("#small").css("cursor","default");
    49          });
    50 //===============================放大镜结束===========================

    以上就是jQuery实现的放大镜我还是那句话clientx/y与pagex/y的不同不然放大镜bug会很大,下次让我们来了解一下pageX/Y与offsetx/y  clientx/y区别,我们下次见

  • 相关阅读:
    【容斥】Four-tuples @山东省第九届省赛 F
    【树形dp入门】没有上司的舞会 @洛谷P1352
    【贪心】LIS @The 15th Zhejiang Provincial Collegiate Programming Contest E
    【map离散&容斥】Ghosts @Codeforces Round #478 (Div. 2) D
    PCA & whitening
    Autoencoders and Sparsity(二)
    Autoencoders and Sparsity(一)
    Regularized logistic regression
    Regularization —— linear regression
    Logistic Regression and Newton's Method
  • 原文地址:https://www.cnblogs.com/caixiufang/p/6608031.html
Copyright © 2011-2022 走看看