一、实现原理
方法一:准备一张高像素的大图,当鼠标放到原图上,加载显示大图的对应位置。
首先,需要一个img元素显示原图对象,还需要一个容器作为显示框;显示框里面存放大图对象。当鼠标移动到原图上时,通过对大图进行绝对定位来显示对应的部位,实现类似放大镜的效果。
二、使用mousemove事件的监听方法
$(".small_box").mousemove(function(e){ // 鼠标位置 var x=e.offsetX,y=e.offsetY; // left top 小黑框的左上角位置 -100保证让鼠标永远在小黑框的中间 var left=x-100; var top=y-100; if (left<0) { left=0; } if (top<0) { top=0; } if (left>200) { left=200; } if (top>200) { top=200; } // 小黑框的位置 $(this).find(".float_layer").css({ top:top+"px", left:left+"px" }) $(".big_box img").css({ top:-2 * top + "px", left:-2 * left + "px" }) })
实现mousemove事件的监听方法,当鼠标移动到 e 对象中,获取当前鼠标相对坐标位置。
三、相对坐标
$(function(){ $(".small_box").hover(function(){ $(this).find(".float_layer").show(); //显示 $(".big_box").show(); },function(){ $(this).find(".float_layer").hide(); //隐藏 })