基于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_13_执行模型详解
Oct 20 Javascript
Jquery 表格合并的问题分享
Sep 17 Javascript
jQuery.prototype.init选择器构造函数源码思路分析
Feb 05 Javascript
JS+CSS实现Li列表隔行换色效果的方法
Feb 16 Javascript
JavaScript实现添加及删除事件的方法小结
Aug 04 Javascript
ReactJs快速入门教程(精华版)
Nov 28 Javascript
vue todo-list组件发布到npm上的方法
Apr 04 Javascript
vue translate peoject实现在线翻译功能【新手必看】
Jun 07 Javascript
微信小程序实现锚点功能
Nov 20 Javascript
基于JavaScript实现十五拼图代码实例
Apr 26 Javascript
Jquery使用each函数实现遍历及数组处理
Jul 14 jQuery
解决elementui表格操作列自适应列宽
Dec 28 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
Symfony2使用Doctrine进行数据库查询方法实例总结
2016/03/18 PHP
AppBaseJs 类库 网上常用的javascript函数及其他js类库写的
2010/03/04 Javascript
jquery 图片截取工具jquery.imagecropper.js
2010/04/09 Javascript
ASP.NET jQuery 实例14 在ASP.NET form中校验时间范围
2012/02/03 Javascript
JavaScript生成SQL查询表单的方法
2015/08/13 Javascript
JavaScript微信定位功能实现方法
2016/11/29 Javascript
简单的jQuery拖拽排序效果的实现(增强动态)
2017/02/09 Javascript
Ajax验证用户名或昵称是否已被注册
2017/04/05 Javascript
ES6中class类用法实例浅析
2017/04/06 Javascript
AngularJS 中的数据源的循环输出
2017/10/12 Javascript
基于JavaScript实现五子棋游戏
2020/08/26 Javascript
Vue.js实现图片的随意拖动方法
2018/03/08 Javascript
在微信小程序中保存网络图片
2019/02/12 Javascript
Vue render函数实战之实现tabs选项卡组件
2019/04/22 Javascript
基于JS抓取某高校附近共享单车位置 使用web方式展示位置变化代码实例
2019/08/27 Javascript
vue - vue.config.js中devServer配置方式
2019/10/30 Javascript
仅用50行代码实现一个Python编写的计算器的教程
2015/04/17 Python
Python实现的HTTP并发测试完整示例
2020/04/23 Python
Python温度转换实例分析
2018/01/17 Python
Python打印输出数组中全部元素
2018/03/13 Python
Python3.6简单反射操作示例
2018/06/14 Python
python的xpath获取div标签内html内容,实现innerhtml功能的方法
2019/01/02 Python
Python语法垃圾回收机制原理解析
2020/03/25 Python
python3.6使用SMTP协议发送邮件
2020/05/20 Python
浅析HTML5页面元素及属性
2021/01/20 HTML / CSS
荷兰音乐会和音乐剧门票订购网站:Topticketshop
2019/08/27 全球购物
Groupon荷兰官方网站:高达70%的折扣
2019/11/01 全球购物
Yankee Candle官网:美国最畅销蜡烛品牌之一
2020/01/05 全球购物
科级干部考察材料
2014/02/15 职场文书
运动与健康自我评价
2015/03/09 职场文书
质检员工作总结2015
2015/04/25 职场文书
廉政承诺书2015
2015/04/28 职场文书
领导莅临指导欢迎词
2015/09/30 职场文书
Nginx域名转发使用场景代码实例
2021/03/31 Servers
python中的sys模块和os模块
2022/03/20 Python
Python 避免字典和元组的多重嵌套问题
2022/07/15 Python