成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

基于jQuery的放大鏡效果

開發 前端
其實就是用到一個比例關系,當“放大鏡”移動多少比例(是比例,不是具體值),大圖也同時用這個比例去乘以大圖的寬和高,就可以算出大圖該移動多少距離了;

先看一下效果

 

接下來是核心代碼

  1. $(function(){  
  2.     var mouseX = 0;        //鼠標移動的位置X  
  3.     var mouseY = 0;        //鼠標移動的位置Y  
  4.     var maxLeft = 0;    //最右邊  
  5.     var maxTop = 0;        //最下邊  
  6.     var markLeft = 0;    //放大鏡移動的左部距離  
  7.     var markTop = 0;    //放大鏡移動的頂部距離  
  8.     var perX = 0;    //移動的X百分比  
  9.     var perY = 0;    //移動的Y百分比  
  10.     var bigLeft = 0;    //大圖要移動left的距離  
  11.     var bigTop = 0;        //大圖要移動top的距離  
  12.  
  13.     //改變放大鏡的位置  
  14.     function updataMark($mark){  
  15.         //通過判斷,讓小框只能在小圖區域中移動          
  16.         if(markLeft<0){  
  17.             markLeft = 0;  
  18.         }else if(markLeft>maxLeft){  
  19.             markLeft = maxLeft;  
  20.         }  
  21.           
  22.           
  23.         if(markTop<0){  
  24.             markTop = 0;  
  25.         }else if(markTop>maxTop){  
  26.             markTop = maxTop;  
  27.         }  
  28.           
  29.         //獲取放大鏡的移動比例,即這個小框在區域中移動的比例  
  30.         perX = markLeft/$(".small").outerWidth();  
  31.         perY = markTop/$(".small").outerHeight();  
  32.           
  33.         bigLeft = -perX*$(".big").outerWidth();  
  34.         bigTop = -perY*$(".big").outerHeight();  
  35.           
  36.         //設定小框的位置  
  37.         $mark.css({"left":markLeft,"top":markTop,"display":"block"});  
  38.     }  
  39.       
  40.     //改變大圖的位置  
  41.     function updataBig(){  
  42.         $(".big").css({"display":"block","left":bigLeft,"top":bigTop});  
  43.     }  
  44.       
  45.     //鼠標移出時  
  46.     function cancle(){  
  47.         $(".big").css({"display":"none"});      
  48.         $(".mark").css({"display":"none"});  
  49.     }  
  50.       
  51.     //鼠標小圖上移動時  
  52.     function imgMouseMove(event){  
  53.           
  54.         var $this = $(this);  
  55.         var $mark = $(this).children(".mark");  
  56.             
  57.         //鼠標在小圖的位置  
  58.         mouseX = event.pageX-$this.offset().left - $mark.outerWidth()/2;  
  59.         mouseY = event.pageY-$this.offset().top - $mark.outerHeight()/2;  
  60.           
  61.         //最大值  
  62.         maxLeft =$this.width()- $mark.outerWidth();  
  63.         maxTop =$this.height()- $mark.outerHeight();  
  64.         markLeft = mouseX;  
  65.         markTop = mouseY;  
  66.           
  67.         updataMark($mark);  
  68.         updataBig();  
  69.     }  
  70.       
  71.       
  72.     $(".small").bind("mousemove",imgMouseMove).bind("mouseleave",cancle);  
  73. }) 

這個里面主要有二點

1.如何大圖跟隨"放大鏡"的位置,同時移動大圖?

其實就是用到一個比例關系,當“放大鏡”移動多少比例(是比例,不是具體值),大圖也同時用這個比例去乘以大圖的寬和高,就可以算出大圖該移動多少距離了;

2.顯示區域和放大鏡的關系?

這里的“放大鏡”應該和大圖的顯示區域的比例,應該是大圖和小的比例關系一樣。比如大圖和小圖的比例是1:2,那個“放大鏡”區域的大小,和顯示大圖區域的大小比例也應該是1:2,不然“放大鏡”罩住的小圖區域,和大圖的顯示區域,所顯示的圖像信息,不能保持一致。(妙味課堂里講的那個實例,就是沒有保持一至);

在線演示:http://demo.jb51.net/js/2012/mymagnifier/

代碼下載:DEMO下載

原文鏈接:http://www.cnblogs.com/lufy/archive/2012/05/29/2523439.html

【編輯推薦】

  1. jQuery插件之Ajax自動完成
  2. jQuery基本事件代碼優化
  3. 印象深刻的jQuery手風琴效果應用
  4. jQuery可多次使用的星級插件
  5. JQuery插件的開發真的有那么難嗎
責任編輯:張偉 來源: 船長op的博客
相關推薦

2017-01-22 17:25:55

Android放大鏡效果源碼分析

2015-03-10 11:36:25

jQuery仿淘寶產品圖片放大鏡代碼

2011-09-08 17:50:34

Windows7放大鏡

2023-08-02 08:00:00

JavaScriptWeb

2021-08-23 15:10:52

GNOME雙重繪制桌面

2012-06-15 10:33:06

JavaScript

2009-04-16 09:28:30

NokiaPhoto BrowsS60

2011-03-31 09:25:10

2024-12-04 11:04:24

微軟Windows 11

2025-01-26 08:00:00

模型AI數據

2010-05-12 16:08:08

云計算安全

2012-06-08 14:32:13

HTML5

2018-05-23 20:25:41

數據科學數據庫信息技術

2012-04-26 10:56:05

jQuery效果

2017-02-10 21:15:22

Windows 10Windows操作技巧

2019-08-07 16:02:27

編程語言RustTypeScript

2023-08-10 08:49:46

GoogleAI云端

2012-03-26 21:47:23

蘋果

2013-04-02 10:47:53

創業創業恐懼

2012-06-13 15:21:26

jQuery
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品久久久久久国产 | 亚洲精品免费观看 | 亚洲一区二区在线播放 | 欧美网址在线观看 | 国内精品久久久久久久 | 日韩一区二区三区在线视频 | 91久久国产综合久久91精品网站 | 欧美日韩一区精品 | 精品福利一区二区三区 | 欧美日本高清 | 男女免费在线观看视频 | 一级免费毛片 | 五月婷婷婷 | 91久久国产综合久久91精品网站 | 91国内外精品自在线播放 | 青青草中文字幕 | 欧美亚洲高清 | 亚洲精品视频在线播放 | 国产一区二区三区四区三区四 | 色视频在线播放 | 香蕉超碰 | 在线不卡视频 | 不用播放器看的av | 国产高清视频一区二区 | 欧美老妇交乱视频 | 99在线资源 | 久优草 | 在线看无码的免费网站 | 亚洲最大的黄色网址 | 欧美一级黄色免费看 | 久久午夜精品 | 秋霞电影院午夜伦 | 久久青青 | 一区二区福利视频 | 一级片免费在线观看 | 国产一区二区三区 | 国产视频精品区 | 中文字幕日韩欧美一区二区三区 | 成人国产精品 | 午夜tv免费观看 | 在线视频亚洲 |