本文实例为大家分享了自己动手实现的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();})} })以上就是本文的全部内容,希望对大家的学习有所帮助。