图片/图形

jfMagnify 放大任何HTML元素jQuery放大镜插件

阿里云


jfMagnify 是一款可以放大任何 HTML 元素的 jQuery 放大镜插件。该放大镜插件不仅可以放大图片,还可以放大任何的 HTML 元素,例如超链接,文本等。该放大镜插件的原理是通过克隆元素和它的子元素,并将克隆的元素进行放大应用到放大镜中。

使用方法

使用该放大镜插件需要在页面中引入 jquery 和 jquery.jfMagnify.js 以及 jquery UI 文件。

也想出现在这里?联系我们
创客主机
  1. <script type="text/javascript" src="js/jquery.min.js"></script>
  2. <script type="text/javascript" src="js/jquery-ui.js"></script>
  3. <script type="text/javascript" src="js/jquery.jfMagnify.js"></script>

HTML 结构

放大镜效果中的所有元素都要放置在一个容器中进行管理。

  1. <div class="magnify">
  2.     <div class="magnify_glass"></div>
  3.     <div class = "element_to_magnify">
  4.         <img src="image1.jpg" draggable="false"/>
  5.     </div>
  6. </div>

CSS 样式

你需要为该放大镜添加下面的必要的 CSS 样式:

  1. .magnify {
  2.     position: relative;
  3.     width: 900px;
  4.     height: 675px;
  5. }
  6. .magnify_glass {
  7.     z-index: 100;
  8.     position: absolute;
  9.     overflow: hidden;
  10. }
  11. .element_to_magnify {
  12.     position: absolute;
  13.     top: 0px;
  14.     left: 0px;
  15.     width: 100%;
  16.     height: 100%;
  17. }
  18. #elementBeingMagnified {
  19.  
  20. }
  21. .magnified_element {
  22.  
  23. }

初始化插件

在页面 DOM 元素加载完毕之后,你可以通过 jfMagnify()方法来初始化该放大镜插件。

  1. $(".magnify").jfMagnify();

配置参数

center:居中放大区域。可选值还有:top 和 left,默认值为 true

scale:放大倍数,默认是 2X

containment:定义放大镜的容器。默认是它的直接父元素

magnifyGlass:定义放大镜元素。默认是.magnify_glass

magnifiedElement:被克隆元素的额外 class 名称。可以在 css 中通过该 class 来找到该元素。默认为.magnified_element

magnifiedZone:你希望放大的元素所在的区域。默认是.magnify_glass

elementToMagnify:要放大的元素。默认是.element_to_magnify
例如可以如下所示在初始化时传入配置参数:

  1. $(".magnify").jfMagnify({
  2.     center: true,
  3.     scale:2,
  4.     containment:'magnify',
  5.     magnifyGlass : '.magnify_glass',
  6.     magnifiedElement: '.magnified_element',
  7.     magnifiedZone:'.magnify_glass',
  8.     elementToMagnify : '.element_to_magnify',
  9. });

所有的配置参数也可以在父容器中使用 data-*属性来设定。

  1. <div class="magnify"
  2.     data-center = "true"
  3.     data-scale ="2"
  4.     data-containment =".magnify"
  5.     data-magnify-glass = ".magnify_glass"
  6.     data-magnified-element = ".magnified_element"
  7.     data-magnified-zone =".magnify_glass"
  8.     data-element-to-magnify = ".element_to_magnify" >

方法

destroy():销毁插件。

  1. $(".magnify").data("jfMagnify").destroy();

scaleMe(number):动态增加或减少放大倍数。

  1. var scaleNum = 2;
  2.     $('.plus').click(function(){
  3.         scaleNum += .5;
  4.         if (scaleNum >=3) {
  5.             scaleNum = 3;
  6.         };
  7.         $(".magnify").data("jfMagnify").scaleMe(scaleNum);
  8.     });

update():该方法用于更新或移动放大镜。

  1. $('.magnify_glass').animate({
  2.         'top':'60%',
  3.         'left':'60%'
  4.         },{
  5.         duration: 1200, 
  6.         progress: function(){
  7.             $(".magnify").data("jfMagnify").update();
  8.         }, 
  9.         ease: "easeInQuint"
  10.     });

Github 地址:https://github.com/fonstok/jfMagnify

jfMagnify 放大任何 HTML 元素 jQuery 放大镜插件

已有 393 人购买
查看演示升级 VIP立刻购买

演示地址 下载地址
收藏
(0)

发表回复

热销模板

Ashade - 作品展示摄影相册WordPress汉化主题
LensNews

本站承接 WordPress / PbootCMS / DedeCMS 等
系统建站、仿站、开发、定制等业务!