基于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 相关文章推荐
图片上传即时显示缩略图的js代码
May 27 Javascript
下载网站打开页面后间隔多少时间才显示下载链接地址的代码
Apr 25 Javascript
JS在textarea光标处插入文本的小例子
Mar 22 Javascript
Linux下使用jq友好的打印JSON技巧分享
Nov 18 Javascript
jquery判断输入密码两次是否相等
Apr 22 Javascript
url中的特殊符号有什么含义(推荐)
Jun 17 Javascript
微信小程序 loading 详解及实例代码
Nov 09 Javascript
javaScript动态添加Li元素的实例
Feb 24 Javascript
js实现图片放大并跟随鼠标移动特效
Jan 18 Javascript
electron+vue实现div contenteditable截图功能
Jan 07 Javascript
mpvue实现微信小程序快递单号查询代码
Apr 03 Javascript
jQuery实现鼠标滑动切换图片
May 27 jQuery
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 cli 方式 在crotab中运行解决
2010/02/08 PHP
CMS中PHP判断系统是否已经安装的方法示例
2014/07/26 PHP
php实现的click captcha点击验证码类实例
2014/09/23 PHP
PHP生成不重复标识符的方法
2014/11/21 PHP
JavaScript学习历程和心得小结
2010/08/16 Javascript
JQuery魔力之$(&quot;tagName&quot;)与selector
2012/03/05 Javascript
JQuery中extend使用介绍
2014/03/13 Javascript
使用js画图之画切线
2015/01/12 Javascript
如何用jQuery实现ASP.NET GridView折叠伸展效果
2015/09/26 Javascript
JQuery datepicker 用法详解
2015/12/25 Javascript
深入理解JQuery中的事件与动画
2016/05/18 Javascript
Node.js中路径处理模块path详解
2016/11/14 Javascript
探索Javascript中this的奥秘
2016/12/11 Javascript
Bootstrap源码解读表单(2)
2016/12/22 Javascript
微信小程序多列选择器range-key使用详解
2020/03/30 Javascript
angular2 ng2-file-upload上传示例代码
2018/08/23 Javascript
vue 双向数据绑定的实现学习之监听器的实现方法
2018/11/30 Javascript
vue webpack打包后图片路径错误的完美解决方法
2018/12/07 Javascript
vue动态路由:路由参数改变,视图不更新问题的解决
2019/11/05 Javascript
[01:08:17]2018DOTA2亚洲邀请赛3月29日 小组赛B组 EG VS VGJ.T
2018/03/30 DOTA
python快速排序代码实例
2013/11/21 Python
对python 矩阵转置transpose的实例讲解
2018/04/17 Python
Python操作word常见方法示例【win32com与docx模块】
2018/07/17 Python
Python根据文件名批量转移图片的方法
2018/10/21 Python
100行Python代码实现每天不同时间段定时给女友发消息
2019/09/27 Python
如何用python 操作zookeeper
2020/12/28 Python
CSS3盒子模型详解
2013/04/24 HTML / CSS
html5中去掉input type date默认样式的方法
2018/09/06 HTML / CSS
Ellos丹麦:时尚和服装在线
2016/09/19 全球购物
美国存储和组织商店:The Container Store
2017/08/16 全球购物
美国LOGO设计公司:The Logo Company
2018/07/16 全球购物
美国综合购物商城:UnbeatableSale.com
2018/11/28 全球购物
进程的查看和调度分别使用什么命令
2013/12/14 面试题
JSP&Servlet技术面试题
2015/05/21 面试题
领导干部群众路线剖析材料
2014/10/09 职场文书