基于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 相关文章推荐
HTML DOM的nodeType值介绍
Mar 31 Javascript
基于JQuery的抓取博客园首页RSS的代码
Dec 01 Javascript
屏蔽script注入小例子
Nov 12 Javascript
使用jquery获取url及url参数的简单实例
Jun 14 Javascript
JS实现表单多文件上传样式美化支持选中文件后删除相关项
Sep 30 Javascript
JS中使用mailto实现将用户在网页中输入的内容传递到本地邮件客户端
Oct 08 Javascript
如何获取元素的最终background-color
Feb 06 Javascript
利用纯js + transition动画实现移动端web轮播图详解
Sep 10 Javascript
Vue.js结合bootstrap前端实现分页和排序效果
Dec 29 Javascript
node链接mongodb数据库的方法详解【阿里云服务器环境ubuntu】
Mar 07 Javascript
原生JS实现烟花效果
Mar 10 Javascript
React组件设计模式之组合组件应用实例分析
Apr 29 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
PHP中$_FILES的使用方法及注意事项说明
2014/02/14 PHP
xml分页+ajax请求数据源+dom取结果实例代码
2008/10/31 Javascript
一个js控制的导航菜单实例代码
2013/12/03 Javascript
HTML页面登录时的JS验证方法
2014/05/28 Javascript
Javascript 实现简单计算器实例代码
2016/10/23 Javascript
关于Jquery中的bind(),on()绑定事件方式总结
2016/10/26 Javascript
Bootstrap源码解读下拉菜单(4)
2016/12/23 Javascript
Bootstrap 表单验证formValidation 实现远程验证功能
2017/05/17 Javascript
vue轮播图插件vue-awesome-swiper的使用代码实例
2017/07/10 Javascript
基于vue.js实现的分页
2018/03/13 Javascript
Vue刷新修改页面中数据的方法
2018/09/16 Javascript
微信小程序录音实现功能并上传(使用node解析接收)
2020/02/26 Javascript
微信小程序实现手指拖动选项排序
2020/04/22 Javascript
[01:58]DOTA2上海特级锦标赛现场采访:RTZ这个ID到底好不好
2016/03/25 DOTA
python下如何让web元素的生成更简单的分析
2008/07/17 Python
python3利用Dlib19.7实现人脸68个特征点标定
2018/02/26 Python
Python实现爬取百度贴吧帖子所有楼层图片的爬虫示例
2018/04/26 Python
Python实现正则表达式匹配任意的邮箱方法
2018/12/20 Python
深入了解Python枚举类型的相关知识
2019/07/09 Python
django如何自己创建一个中间件
2019/07/24 Python
使用python实现滑动验证码功能
2019/08/05 Python
pyautogui自动化控制鼠标和键盘操作的步骤
2020/04/01 Python
如何用Python提取10000份log中的产品信息
2021/01/14 Python
初探CSS3中的calc()功能
2015/07/14 HTML / CSS
Public Desire美国/加拿大:全球性的在线鞋类品牌
2018/12/17 全球购物
中专生职业生涯规划书范文
2014/01/10 职场文书
优秀员工获奖感言
2014/03/01 职场文书
《鞋匠的儿子》教学反思
2014/03/02 职场文书
民政局副局长民主生活会个人对照检查材料
2014/09/19 职场文书
婚内分居协议书范文
2014/11/26 职场文书
2014年卫生工作总结
2014/11/27 职场文书
看上去很美观后感
2015/06/10 职场文书
2016年主题党日活动总结
2016/04/05 职场文书
vue实现简单数据双向绑定
2021/04/28 Vue.js
如何用JS实现简单的数据监听
2021/05/06 Javascript
【海涛dota解说】海涛小满开黑4v5被破两路翻盘潮汐第一视角解说
2022/04/01 DOTA