基于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 相关文章推荐
不用ajax实现点击文字即可编辑的方法
Dec 16 Javascript
JavaScript监测ActiveX控件是否已经安装过的代码
Sep 02 Javascript
js onpropertychange输入框 事件获取属性
Mar 26 Javascript
innerHTML,outerHTML,innerText,outerText的用法及区别解析
Dec 16 Javascript
node.js中的querystring.stringify方法使用说明
Dec 10 Javascript
javascript基本包装类型介绍
Apr 10 Javascript
JS实现淡入淡出图片效果的方法分析
Dec 20 Javascript
详解使用element-ui table组件的筛选功能的一个小坑
Nov 02 Javascript
vue的注意规范之v-if 与 v-for 一起使用教程
Aug 04 Javascript
构建大型 Vue.js 项目的10条建议(小结)
Nov 14 Javascript
用JS实现一个简单的打砖块游戏
Dec 11 Javascript
开发一个封装iframe的vue组件
Mar 29 Vue.js
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 in_array 函数使用说明与in_array需要注意的地方说明
2010/04/13 PHP
简单的php写入数据库类代码分享
2011/07/26 PHP
php判断GIF图片是否为动画的方法
2020/09/04 PHP
PHP使用内置函数生成图片的方法详解
2016/05/09 PHP
PHP实现将优酷土豆腾讯视频html地址转换成flash swf地址的方法
2017/08/04 PHP
PHP大文件分割上传 PHP分片上传
2017/08/28 PHP
如何直接访问php实例对象中的private属性详解
2017/10/12 PHP
Yii2.0框架模型多表关联查询示例
2019/07/18 PHP
Laravel 框架返回状态拦截代码
2019/10/18 PHP
php实现简易计算器
2020/08/28 PHP
javascript实现的像java、c#之类的sleep暂停的函数代码
2010/03/04 Javascript
P3P Header解决Cookie跨域的问题
2013/03/12 Javascript
js实现的牛顿摆效果
2015/03/31 Javascript
json+jQuery实现的无限级树形菜单效果代码
2015/08/27 Javascript
jquery调整表格行tr上下顺序实例讲解
2016/01/09 Javascript
用canvas 实现个图片三角化(LOW POLY)效果
2016/02/18 Javascript
Js与Jq获取浏览器和对象值的方法
2016/03/18 Javascript
VueJS全面解析
2016/11/10 Javascript
详解使用Visual Studio Code对Node.js进行断点调试
2017/09/14 Javascript
基于vue配置axios的方法步骤
2017/11/09 Javascript
Thinkjs3新手入门之添加一个新的页面
2017/12/06 Javascript
微信小程序实现自定义modal弹窗封装的方法
2018/06/15 Javascript
微信小程序中进行地图导航功能的实现方法
2018/06/29 Javascript
跨域解决之JSONP和CORS的详细介绍
2018/11/21 Javascript
Node.js安装详细步骤教程(Windows版)详解
2019/09/01 Javascript
[53:15]Mineski vs iG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python适配器模式代码实现解析
2019/08/02 Python
西班牙灯具网上商店:Lampara.es
2018/06/05 全球购物
bonprix匈牙利:女士、男士和儿童服装
2019/07/19 全球购物
大一新生军训时的自我评价分享
2013/12/05 职场文书
植物生产学专业求职信
2014/08/08 职场文书
领导班子群众路线与四风问题对照检查材料思想汇报
2014/10/11 职场文书
旷课检讨书500字
2014/10/14 职场文书
2015年度村委会工作总结
2015/04/29 职场文书
USB TYPE-C 或将成为所有智能手机充电标准
2022/04/21 数码科技
Go gRPC进阶教程gRPC转换HTTP
2022/06/16 Golang