基于jquery编写的放大镜插件

 更新时间:2016年03月23日 15:04:05   作者:前端小家鸟  
这篇文章主要为大家详细介绍了基于jquery编写的放大镜插件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了自己动手实现的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();
    })
 
 
  }
 
})

以上就是本文的全部内容,希望对大家的学习有所帮助。

相关文章

  • JS秒杀倒计时功能完整实例【使用jQuery3.1.1】

    JS秒杀倒计时功能完整实例【使用jQuery3.1.1】

    这篇文章主要介绍了JS秒杀倒计时功能,结合完整实例形式分析了基于jQuery3.1.1基于时间函数的页面元素属性动态操作相关实现技巧,需要的朋友可以参考下
    2019-09-09
  • jQuery Validate设置onkeyup验证的实例代码

    jQuery Validate设置onkeyup验证的实例代码

    jQuery Validate 插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求。这篇文章主要介绍了jQuery Validate设置onkeyup验证的相关资料,需要的朋友可以参考下
    2016-12-12
  • jQuery实现伪分页的方法分享

    jQuery实现伪分页的方法分享

    这篇文章主要介绍了jQuery实现伪分页的方法,结合实例形式分析了jQuery实现伪分页的具体步骤与相关实现代码,需要的朋友可以参考下
    2016-02-02
  • jQuery 调用WebService 实例讲解

    jQuery 调用WebService 实例讲解

    以前都是Web程序调用WebService,.net把WebService封装的太简单了,所以之前都是很肤浅的用,都没有想过更深层的东西,并且只是停留在表面的添加引用和调用。
    2016-06-06
  • 20个非常棒的 jQuery 幻灯片插件和教程分享

    20个非常棒的 jQuery 幻灯片插件和教程分享

    jQuery 是一个非常优秀的 JavaScript 框架,使用简单灵活,同时还有许多成熟的插件可供选择,它可以帮助你在项目中加入一些非常好的效果。
    2011-08-08
  • 用jquery和json从后台获得数据集的代码

    用jquery和json从后台获得数据集的代码

    最近正在用ajax无刷新做网站,发现数据很好传输,但是数据集不知道怎么获得,于是,上网查了一些资料来传输数据,现在和大家分享一下,不知道的童鞋可以和我一起学习,知道的请指点一二。我选择的方法是用json 来获取数据集
    2011-11-11
  • Bootstrap3.3.7导航栏下拉菜单鼠标滑过展开效果

    Bootstrap3.3.7导航栏下拉菜单鼠标滑过展开效果

    这篇文章主要介绍了Bootstrap3.3.7导航栏下拉菜单鼠标滑过展开效果,需要的朋友可以参考下
    2017-10-10
  • webpack中引用jquery的简单实现

    webpack中引用jquery的简单实现

    下面小编就为大家带来一篇webpack中引用jquery的简单实现。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-06-06
  • jQuery异步提交表单实例

    jQuery异步提交表单实例

    这篇文章主要介绍了jQuery异步提交表单实例,需要的朋友可以参考下
    2017-05-05
  • jQuery实现自动调整字体大小的方法

    jQuery实现自动调整字体大小的方法

    这篇文章主要介绍了jQuery实现自动调整字体大小的方法,涉及jQuery针对页面属性与样式动态操作的相关技巧,需要的朋友可以参考下
    2015-06-06

最新评论