基于jquery编写的放大镜插件


Posted in Javascript onMarch 23, 2016

本文实例为大家分享了自己动手实现的jquery放大镜插件,供大家参考,具体内容如下

/**
  ***********************************************
  **此插件使用须知---------------       **
  **滤镜(inner)与其活动区(active)之比要等于 **
  **放大区(movequ)与其内部图片之比。如比值不相 **
  **等,请改变图片大小.------------------------**
  **参数介绍                  **
  **active:滤镜活动区             **
  **inner:滤镜                 **
  **movequ:放大区域              **
  **需在Html头部引入本js脚本及jquery-1.8.3脚本 **
  **如有疑问,请联系QQ:64047399,为你解答   **
  ***********************************************
 
**/
 
 
$.fn.extend({
  yangbo:function(active,inner,movequ){
    $(active).hover(function(){
      $(inner).show();
      $(movequ).show();
      var proportionOne=$(active).width()/$(inner).width();
      var proportionTwo=$(movequ).find('img').width()/$(movequ).width();
      // console.log($(movequ).find('img').width());
      if(proportionOne==proportionTwo){
      $(this).mousemove(function(event){
        //以下为右侧放大
        var proportionLeft=$(active).width()/$(inner).width();
        var proportionTop=$(active).height()/$(inner).height();
        $(movequ).scrollLeft($(inner).position().left*proportionLeft).scrollTop($(inner).position()
        .top*proportionTop);
 
        //以下为小滤镜拖拽
        $(inner).offset({
            left:event.pageX-40,
            top:event.pageY-40
          });
 
        //以下为判断临界值
        if($(inner).position().left<=0){
            $(inner).css({
              left:0
            })
          }
          if($(inner).position().top<=0){
            $(inner).css({
              top:0
            })
          }
          if($(inner).position().left>=$(this).width()-$(inner).width()){
            $(inner).css({
              left:$(this).width()-$(inner).width()
            })
          }
          if($(inner).position().top>=$(this).height()-$(inner).height()){
            $(inner).css({
              top:$(this).height()-$(inner).height()
            })
          }
 
      })
    }else{
      $(active).text('图片宽高不正确:请调整图片宽高-->滤镜与其父亲之比应该等于右侧盒子与右侧图片之比')
      .css({
        background:'yellow',
        color:'red',
      });
    }
  },function(){
      $(inner).hide();
      $(movequ).hide();
    })
 
 
  }
 
})

以上就是本文的全部内容,希望对大家的学习有所帮助。

Javascript 相关文章推荐
分享一道笔试题[有n个直线最多可以把一个平面分成多少个部分]
Oct 12 Javascript
IE浏览器IFrame对象内存不释放问题解决方法
Aug 22 Javascript
微信内置浏览器私有接口WeixinJSBridge介绍
May 25 Javascript
JavaScript实现下拉列表框数据增加、删除、上下排序的方法
Aug 11 Javascript
Bootstrap打造一个左侧折叠菜单的系统模板(二)
May 17 Javascript
使用Ajax生成的Excel文件并下载的实例
Nov 21 Javascript
js微信扫描二维码登录网站技术原理
Dec 01 Javascript
js 颜色选择插件
Jan 23 Javascript
JavaScript中concat复制数组方法浅析
Jan 20 Javascript
简单了解微信小程序的目录结构
Jul 01 Javascript
JavaScript多种滤镜算法实现代码实例
Dec 10 Javascript
JavaScript Reflect Metadata实现详解
Dec 12 Javascript
Jquery+ajax+JAVA(servlet)实现下拉菜单异步取值
Mar 23 #Javascript
JavaScript弹出对话框的三种方式
Mar 23 #Javascript
JS随机洗牌算法之数组随机排序
Mar 23 #Javascript
JavaScript学习笔记之取数组中最大值和最小值
Mar 23 #Javascript
JavaScript学习笔记之数组去重
Mar 23 #Javascript
JavaScript学习笔记之数组随机排序
Mar 23 #Javascript
JavaScript学习笔记之数组求和方法
Mar 23 #Javascript
You might like
PHP中使用匿名函数操作数据库的例子
2014/11/17 PHP
PHP实现多级分类生成树的方法示例
2017/02/07 PHP
PHP编程实现微信企业向用户付款的方法示例
2017/07/26 PHP
php使用json-schema模块实现json校验示例
2019/09/28 PHP
javascript cookies操作集合
2010/04/12 Javascript
JS下高效拼装字符串的几种方法比较与测试代码
2010/04/15 Javascript
浅析onsubmit校验表单时利用ajax的return false无效问题
2013/07/10 Javascript
js 页面元素的几个用法总结
2013/11/18 Javascript
使用phantomjs进行网页抓取的实现代码
2014/09/29 Javascript
JQuery插件Quicksand实现超炫的动画洗牌效果
2015/05/03 Javascript
浅谈Angular.js中使用$watch监听模型变化
2017/01/10 Javascript
JS简单生成随机数(随机密码)的方法
2017/05/11 Javascript
详解angularjs中如何实现控制器和指令之间交互
2017/05/31 Javascript
详解如何从零开始搭建Express+Vue开发环境
2018/07/17 Javascript
JavaScript基于遍历操作实现对象深拷贝功能示例
2019/03/05 Javascript
关于vue表单提交防双/多击的例子
2019/10/31 Javascript
Vue.js实现大屏数字滚动翻转效果
2019/11/29 Javascript
[02:08]DOTA2英雄基础教程 马格纳斯
2014/01/17 DOTA
[45:25]OG vs EG 2019国际邀请赛淘汰赛 胜者组 BO3 第一场 8.22
2019/09/05 DOTA
深入解析Python中的线程同步方法
2016/06/14 Python
Python实现购物系统(示例讲解)
2017/09/13 Python
Python UnboundLocalError和NameError错误根源案例解析
2018/10/31 Python
python列表每个元素同增同减和列表元素去空格的实例
2019/07/20 Python
python错误调试及单元文档测试过程解析
2019/12/19 Python
Python编程快速上手——Excel表格创建乘法表案例分析
2020/02/28 Python
Python单例模式的四种创建方式实例解析
2020/03/04 Python
Python通过len函数返回对象长度
2020/10/22 Python
python实现视频压缩功能
2020/12/18 Python
html5 canvas fillRect坐标和大小的问题解决方法
2014/03/26 HTML / CSS
Maison Lab荷兰:名牌Outlet购物
2018/08/10 全球购物
大学生毕业自我鉴定范文
2013/11/03 职场文书
暑期培训随笔感言
2014/03/10 职场文书
港澳通行证委托书怎么写
2014/08/02 职场文书
岗位竞聘报告范文
2014/11/06 职场文书
浅谈resultMap的用法及关联结果集映射
2021/06/30 Java/Android
vmware虚拟机打不开vmx文件怎么办 ?vmware虚拟机vmx文件打开方法
2022/04/08 数码科技