jQuery放大镜

一、实现原理

方法一:准备一张高像素的大图,当鼠标放到原图上,加载显示大图的对应位置。

首先,需要一个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   对象中,获取当前鼠标相对坐标位置。

三、相对坐标

 

jQuery放大镜

 

$(function(){
    $(".small_box").hover(function(){
        $(this).find(".float_layer").show();  //显示
        $(".big_box").show();
    },function(){
        $(this).find(".float_layer").hide();  //隐藏
    })

 

上一篇:小程序开屏广告demo


下一篇:px、em、rem的区别