基于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 相关文章推荐
jQuery ajax BUG:object doesn't support this property or method
Jul 06 Javascript
js中widow.open()方法使用详解
Jul 30 Javascript
JavaScript在浏览器标题栏上显示当前日期和时间的方法
Mar 19 Javascript
javascript生成不重复的随机数
Jul 17 Javascript
jQuery添加options点击事件并传值实例代码
May 18 Javascript
浅析vue数据绑定
Jan 17 Javascript
JS中定位 position 的使用实例代码
Aug 06 Javascript
js定义类的方法示例【ES5与ES6】
Jul 30 Javascript
vue 集成 vis-network 实现网络拓扑图的方法
Aug 07 Javascript
Windows上node.js的多版本管理工具用法实例分析
Nov 06 Javascript
解决vscode进行vue格式化,会自动补分号和双引号的问题
Oct 26 Javascript
解决VantUI popup 弹窗不弹出或无蒙层的问题
Nov 03 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
mysql,mysqli,PDO的各自不同介绍
2012/09/19 PHP
PHP5下$_SERVER变量不再受magic_quotes_gpc保护的弥补方法
2012/10/31 PHP
php获取用户IPv4或IPv6地址的代码
2012/11/15 PHP
Smarty分页实现方法完整实例
2016/05/11 PHP
document.onreadystatechange事件的用法分析
2009/10/17 Javascript
javascript游戏开发之《三国志曹操传》零部件开发(五)可移动地图的实现
2013/01/23 Javascript
如何将网页表格内容导入excel
2014/02/18 Javascript
IE中的File域无法清空使用jQuery重设File域
2014/04/24 Javascript
jquery实现的V字形显示效果代码
2015/10/27 Javascript
实例代码详解javascript实现窗口抖动及qq窗口抖动
2016/01/04 Javascript
vue2.0结合DataTable插件实现表格动态刷新的方法详解
2017/03/17 Javascript
详解windows下vue-cli及webpack 构建网站(二)导入bootstrap样式
2017/06/17 Javascript
JS和Canvas实现图片的预览压缩和上传功能
2018/03/30 Javascript
详解js访问对象的属性和方法
2018/10/25 Javascript
利用Pandas读取文件路径或文件名称包含中文的csv文件方法
2018/07/04 Python
Python Requests库基本用法示例
2018/08/20 Python
python实现随机漫步算法
2018/08/27 Python
python实现大转盘抽奖效果
2019/01/22 Python
对python判断是否回文数的实例详解
2019/02/08 Python
Python循环结构的应用场景详解
2019/07/11 Python
Python导入父文件夹中模块并读取当前文件夹内的资源
2020/11/19 Python
python 装饰器的基本使用
2021/01/13 Python
前端canvas水印快速制作(附完整代码)
2019/09/19 HTML / CSS
HTML5实现动画效果的方式汇总
2016/02/29 HTML / CSS
YSL Beauty加拿大官方商城:圣罗兰美妆加拿大
2017/05/15 全球购物
英国最大的户外商店:Go Outdoors
2019/04/17 全球购物
美国儿童珠宝在线零售商:Loveivy
2019/05/22 全球购物
美国在线艺术商店:HandmadePiece
2020/11/06 全球购物
优秀研究生主要事迹
2014/06/03 职场文书
长城导游词400字
2015/01/30 职场文书
幼师自荐信范文
2015/03/06 职场文书
Python实现随机生成迷宫并自动寻路
2021/06/13 Python
Python实战之OpenCV实现猫脸检测
2021/06/26 Python
vue实现省市区联动 element-china-area-data插件
2022/04/22 Vue.js
JavaScript架构localStorage特殊场景下二次封装操作
2022/06/21 Javascript
django项目、vue项目部署云服务器的详细过程
2022/07/23 Servers