基于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().leftproportionLeft).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('<a href="https://www.f2er.com/tag/tupian/" target="_blank" class="keywords">图片</a>宽高不正确:请调整<a href="https://www.f2er.com/tag/tupian/" target="_blank" class="keywords">图片</a>宽高-->滤镜与其父亲之比应该等于右侧盒子与右侧<a href="https://www.f2er.com/tag/tupian/" target="_blank" class="keywords">图片</a>之比')
  .css({
    background:'yellow',color:'red',});
}

},function(){
$(inner).hide();
$(movequ).hide();
})

}

})

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

相关文章

jQuery插件的种类 1、封装对象方法 这种插件是将对象方法封装起来,用于对通过选择器获取的jQuery对象进...
扩展jQuery插件和方法的作用是非常强大的,它可以节省大量开发时间。 入门 编写一个jQuery插件开始于给...
最近项目中需要实现3D图片层叠旋转木马切换的效果,于是用到了jquery.roundabout.js。 兼容性如图: ht...
一、什么是deferred对象? 开发网站的过程中,我们经常遇到某些耗时很长的javascript操作。其中,既有异...
AMD 模块 AMD(异步模块定义,Asynchronous Module Definition)格式总体的目标是为现在的开发者提供一...