亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

js自制圖片放大鏡功能

 更新時間:2017年01月24日 14:32:53   作者:Jack.Zhong  
這篇文章主要為大家詳細介紹了js自制圖片放大鏡功能的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了Android九宮格圖片展示的具體代碼,供大家參考,具體內容如下

注釋:
small img size:600x400
big img size:1200x800

原理:
1、大圖是小圖的 2倍整
2、大圖以小圖片中心點為中心
      a.transform : translate(-50%,-50%)
      b.(rate-0.5)*50%
      c.clip : rect(t,r,b,l) 以小圖邊界為邊界
3、rect必須有absolute
4、獲取鼠標在圖片中的位置
     a.獲取鼠標位置 XY
     b.獲取圖片位置、寬度、高度
             i.得到鼠標在圖片的百分比位置
             ii.將百分比位置應用于大圖 left,top 

問題:
居中理解太差:
          absolute ,left ,top,right,bottom,margin
放大縮小問題:
           起初: transform: scale() 縮放
           利用 transition 過渡
                 結果,采用這種方法會使得鼠標移動時很卡頓
                       可能原因:每次hover 都會觸發(fā) transition事件
           解決方法:采用了 Animate 動畫來實現(xiàn)縮放 

細節(jié):
以 onmouse 事件 e 動態(tài)獲得 e.pageX 和 e.pageY
以 $().offset().top /left 獲取圖片位置
以 $().width() /height() 獲取圖片寬高
      在錯誤的操作中也忘了獲取 class 的方法
           $().attr("class")
           $().prop("class")
                    event.traget.className 

如果要實現(xiàn) hover出現(xiàn) 透明的塊狀就在外部 opacity:0.5; 設置z-index就可以了。

<html>
 <head>
  <meta charset="UTF-8">
  <title>WEBGOD</title>
  <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css"/>
  <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
  <script src="js/bootstrap.min.js" type="text/javascript" charset="utf-8"></script>
  <style type="text/css">
   #warpper{
    margin: 0 auto;
    padding: 0;
    position: relative;
    z-index: 1;
    width: 600px;
    height: 400px;
   }
   .small{
    text-align: center;
   }
   .big{
    display: none;
    clip: rect(200px,900px,600px,300px);
    position: absolute;
    width: 1200px;
    height: 800px;
    top: 50%;
    left:50%;
    transform: translate(-50%,-50%);
   }
   .big img{
    position: absolute;
    width: 600px;
    height: auto;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
   }
  </style>
 </head>
 <body>
   
  <div id="warpper">
   <div class="small">
    <img src="img/small_19.jpg"/>
   </div>
   <div class="big">
    <img src="img/img_19.jpg"/>
   </div>
  </div>
  <script type="text/javascript">
   $(function(){
    var x,y,left,top,width,height,imgWidth,imgHeight,rateX,rateY;
    $("#warpper").hover(function(){
     $(".big").css("display","block");
     $(".big img").animate({"width":"1200px"},500);
    },function(){
     $(".big img").animate({"width":"600px"},1);
     $(".big").css("display","none");
    })
    $("#warpper").on("mousemove",function(e){
     x = e.pageX;
     y = e.pageY;
     top = $(".small img").offset().top;
     left = $(".small img").offset().left;
     width = $(".small img").width();
     height = $(".small img").height();
     //
     imgWidth = $(".big img").width();
     imgHeight = $(".big img").height();
     rateX = (left+width-x)/width;
     rateY = (top+height-y)/height;
     if(rateX>0&&rateY>0&&rateX<=1&&rateY<=1){
      $(".big img").css("left",(rateX-0.5)*50+"%");
      $(".big img").css("top",(rateY-0.5)*50+"%");
     }
    })
   })
  </script>
 </body>
</html>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • webpack配置完熱更新會刷新整個頁面

    webpack配置完熱更新會刷新整個頁面

    本文主要介紹了webpack配置完熱更新會刷新整個頁面,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-11-11
  • Three.js渲染模型卡頓問題的一些優(yōu)化辦法

    Three.js渲染模型卡頓問題的一些優(yōu)化辦法

    用ThreeJS加載大模型總要遇到性能問題,性能優(yōu)化一般包括加載性能優(yōu)化、渲染幀率優(yōu)化、內存優(yōu)化等,下面這篇文章主要給大家介紹了關于Three.js渲染模型卡頓問題的一些優(yōu)化辦法,需要的朋友可以參考下
    2024-02-02
  • JavaScript 監(jiān)控微信瀏覽器且自帶返回按鈕時間

    JavaScript 監(jiān)控微信瀏覽器且自帶返回按鈕時間

    這篇文章主要介紹了JavaScript 監(jiān)控微信瀏覽器且自帶返回按鈕時間的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-11-11
  • 微信小程序自定義音樂進度條的實例代碼

    微信小程序自定義音樂進度條的實例代碼

    最近遇到這樣的需求:顯示音樂播放按鈕、可手動拖拽進度條;頁面中含多個音樂,播放當前音樂時暫停其他音樂播放。 這篇文章主要介紹了微信小程序自定義音樂進度條的實例代碼,需要的朋友可以參考下
    2018-08-08
  • JS封裝的選項卡TAB切換效果示例

    JS封裝的選項卡TAB切換效果示例

    這篇文章主要介紹了JS封裝的選項卡TAB切換效果,結合實例形式分析了javascript響應鼠標事件動態(tài)操作頁面元素屬性實現(xiàn)tab切換的相關技巧,需要的朋友可以參考下
    2016-09-09
  • 通過JS 獲取Mouse Position(鼠標坐標)的代碼

    通過JS 獲取Mouse Position(鼠標坐標)的代碼

    最近我發(fā)現(xiàn)在webpage中獲取空間的絕對坐標時,如果有滾動條就會有錯,后來用無名發(fā)現(xiàn)的方法得以解決。
    2009-09-09
  • JS實現(xiàn)alert中顯示換行的方法

    JS實現(xiàn)alert中顯示換行的方法

    這篇文章主要介紹了JS實現(xiàn)alert中顯示換行的方法,實例分析了兩種實現(xiàn)alert換行的實現(xiàn)技巧,非常簡單實用,需要的朋友可以參考下
    2015-12-12
  • el-tree限制選中個數(shù)的實例

    el-tree限制選中個數(shù)的實例

    這篇文章主要介紹了el-tree限制選中個數(shù),本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-08-08
  • JavaScript自動點擊鏈接 防止繞過瀏覽器訪問的方法

    JavaScript自動點擊鏈接 防止繞過瀏覽器訪問的方法

    下面小編就為大家?guī)硪黄狫avaScript自動點擊鏈接 防止繞過瀏覽器訪問的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • TypeScript 中括號用法小結

    TypeScript 中括號用法小結

    本文主要介紹了TypeScript 中括號用法小結,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-04-04

最新評論