基于jquery编写的放大镜插件
来源: 阅读:666 次 日期:2016-07-16 14:25:44
温馨提示: 小编为您整理了“基于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();

    })

  }

})

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

更多信息请查看网络编程
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:hfpxwx
咨询QQ:526150442(9:00—18:00)版权所有:
云南网警报警专用图标
Baidu
map