基于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 相关文章推荐
JavaScript isPrototypeOf和hasOwnProperty使用区别
Mar 04 Javascript
IE关闭时判断及AJAX注销案例学习
Feb 18 Javascript
JS 弹出层 定位至屏幕居中示例
May 21 Javascript
解决js下referer兼容各大浏览器的方法
Nov 03 Javascript
30个经典的jQuery代码开发技巧
Dec 15 Javascript
JavaScript encodeURI 和encodeURIComponent
Dec 04 Javascript
详解js中构造流程图的核心技术JsPlumb
Dec 08 Javascript
angular.js分页代码的实例
Jul 27 Javascript
AngularJS的ng Http Request与response格式转换方法
Nov 07 Javascript
Vue数据驱动模拟实现5
Jan 13 Javascript
vue实现百度搜索下拉提示功能实例
Jun 14 Javascript
JS三级联动代码格式实例详解
Dec 30 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
自动跳转中英文页面
2006/10/09 PHP
PHP随机生成随机个数的字母组合示例
2014/01/14 PHP
php实现统计网站在线人数的方法
2015/05/12 PHP
使用PHP下载CSS文件中的所有图片【几行代码即可实现】
2016/12/14 PHP
浅析PHP开发规范
2018/02/05 PHP
PHP+ajax实现二级联动菜单功能示例
2018/08/10 PHP
浅谈PHP中的Trait使用方法
2019/03/22 PHP
js(JavaScript)实现TAB标签切换效果的简单实例
2014/02/26 Javascript
JavaScript基本语法讲解
2015/06/03 Javascript
js传值后台中文出现乱码的解决方法
2016/06/30 Javascript
jQuery实现下拉框多选 jquery-multiselect 的实例代码
2016/07/14 Javascript
微信小程序 免费SSL证书https、TLS版本问题的解决办法
2016/12/14 Javascript
bootstrap提示标签、提示框实现代码
2016/12/28 Javascript
JavaScript函数参数的传递方式详解
2017/03/06 Javascript
jQuery模拟下拉框选择对应菜单的内容
2017/03/07 Javascript
angular使用post、get向后台传参的问题实例
2017/05/27 Javascript
JavaScript+HTML5实现的日期比较功能示例
2017/07/12 Javascript
前端必备插件之纯原生JS的瀑布流插件Macy.js
2017/11/22 Javascript
在vue里面设置全局变量或数据的方法
2018/03/09 Javascript
NodeJS安装图文教程
2018/04/19 NodeJs
Javasript设计模式之链式调用详解
2018/04/26 Javascript
NodeJS读取分析Nginx错误日志的方法
2019/05/14 NodeJs
[51:14]LGD vs VP 2018国际邀请赛淘汰赛BO3 第一场 8.21
2018/08/22 DOTA
python中的reduce内建函数使用方法指南
2014/08/31 Python
python根据文件大小打log日志
2014/10/09 Python
Python3导入自定义模块的三种方法详解
2018/04/13 Python
Scrapy使用的基本流程与实例讲解
2018/10/21 Python
Python中出现IndentationError:unindent does not match any outer indentation level错误的解决方法
2020/04/18 Python
PyQt5重写QComboBox的鼠标点击事件方法
2019/06/25 Python
使用python的turtle函数绘制一个滑稽表情
2020/02/28 Python
Algenist奥杰尼官网:微藻抗衰老护肤品牌
2017/07/15 全球购物
老师推荐信
2013/10/28 职场文书
生物技术研究生自荐信
2013/11/12 职场文书
大学生村官承诺书
2014/03/28 职场文书
培训通知
2015/04/17 职场文书
Python极值整数的边界探讨分析
2021/09/15 Python