基于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调用webService远程访问出错的解决方法
May 21 Javascript
Js 时间函数getYear()的使用问题探讨
Apr 01 Javascript
JS设置获取cookies的方法
Jan 26 Javascript
js获取IP地址的方法小结
Jul 01 Javascript
纯JS实现只能输入数字的简单代码
Jun 21 Javascript
js 客户端打印html 并且去掉页眉、页脚的实例
Nov 03 Javascript
从0到1构建vueSSR项目之node以及vue-cli3的配置
Mar 07 Javascript
js纯前端实现腾讯cos文件上传功能的示例代码
May 14 Javascript
JS实现处理时间,年月日,星期的公共方法示例
May 31 Javascript
Node.js API详解之 tty功能与用法实例分析
Apr 27 Javascript
浅谈JavaScript节流和防抖函数
Aug 25 Javascript
JS精髓原型链继承及构造函数继承问题纠正
Jun 16 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
完美的2个php检测字符串是否是utf-8编码函数分享
2014/07/28 PHP
PHP利用超级全局变量$_GET来接收表单数据的实例
2016/11/05 PHP
PHP 断点续传实例详解
2017/11/11 PHP
百度 popup.js 完美修正版非常的不错 脚本之家推荐
2009/04/17 Javascript
JavaScript Timer实现代码
2010/02/17 Javascript
JavaScript 对象的属性和方法4种不同的类型
2010/03/19 Javascript
读jQuery之十一 添加事件核心方法
2011/07/31 Javascript
得到form下的所有的input的js代码
2013/11/07 Javascript
利用js实现前台动态添加文本框,后台获取文本框内容(示例代码)
2013/11/25 Javascript
JavaScript关闭当前页面(窗口)不带任何提示
2014/03/26 Javascript
jquery实现的树形目录实例
2015/06/26 Javascript
jQuery解析json数据实例分析
2015/11/24 Javascript
jQuery中的Deferred和promise 的区别
2016/04/03 Javascript
浅析JavaScript函数的调用模式
2016/08/10 Javascript
使用ReactJS实现tab页切换、菜单栏切换、手风琴切换和进度条效果
2016/10/17 Javascript
基于node.js依赖express解析post请求四种数据格式
2017/02/13 Javascript
Bootstrap组合上、下拉框简单实现代码
2017/03/06 Javascript
javascript 动态生成css代码的两种方法
2017/03/17 Javascript
一个简易时钟效果js实现代码
2020/03/25 Javascript
Vue使用json-server进行后端数据模拟功能
2018/04/17 Javascript
JS实现关键词高亮显示正则匹配
2018/06/22 Javascript
JS 图片压缩原理与实现方法详解
2020/04/29 Javascript
[01:46]TI4西雅图DOTA2前线报道 中国选手抱团调时差
2014/07/08 DOTA
DJANGO-ALLAUTH社交用户系统的安装配置
2014/11/18 Python
Windows系统配置python脚本开机启动的3种方法分享
2015/03/10 Python
分享一下如何编写高效且优雅的 Python 代码
2017/09/07 Python
python实现图书馆研习室自动预约功能
2018/04/27 Python
python 进程的几种创建方式详解
2019/08/29 Python
python TK库简单应用(实时显示子进程输出)
2019/10/29 Python
基于python调用jenkins-cli实现快速发布
2020/08/14 Python
架构师岗位职责
2013/11/18 职场文书
小学生常见病防治方案
2014/06/06 职场文书
走群众路线学习笔记
2014/11/06 职场文书
2015大一新生军训感言
2015/08/01 职场文书
带你彻底理解JavaScript中的原型对象
2021/04/14 Javascript
python字典进行运算原理及实例分享
2021/08/02 Python