Javascript图像悬停缩放弹出窗口

Javascript图像悬停缩放弹出窗口,javascript,jquery,html,css,image,Javascript,Jquery,Html,Css,Image,我想从零开始做这个 我的想法是将弹出式背景设置为悬停图像的更大版本。然后移动背景图像,就像移动组成单个精灵图像的图像片段集合一样 我不确定我是否遗漏了什么。现在有了这个演示,我试图通过使用z-index隐藏图像的其余部分,但它似乎不起作用 有110行代码,所以我只是张贴一个工作演示链接,如果这是好的 但这是主要的驱动程序代码 这在mousemove标记内,mousemove标记内 这个想法是当你将鼠标悬停在图像上时,一个坐标x/y被更新(我做的第一步是获得x,y坐标),然后图像被附加一次,附加

我想从零开始做这个

我的想法是将弹出式背景设置为悬停图像的更大版本。然后移动背景图像,就像移动组成单个精灵图像的图像片段集合一样

我不确定我是否遗漏了什么。现在有了这个演示,我试图通过使用z-index隐藏图像的其余部分,但它似乎不起作用

有110行代码,所以我只是张贴一个工作演示链接,如果这是好的

但这是主要的驱动程序代码

这在mousemove标记内,mousemove标记内

这个想法是当你将鼠标悬停在图像上时,一个坐标x/y被更新(我做的第一步是获得x,y坐标),然后图像被附加一次,附加的图像被设置为绝对定位,然后创建一些变量,现在坐标代表正在移动的图像的中心,映射到光标悬停在小图像上

鼠标退出时,重置

<script>
$("#coordinates").empty();
        $("#coordinates").append('x: ' + event.clientX + ' ' + ',' + 'y: ' + event.clientY + ' ');

        // append image
        if(imageAppended == "none") {
          $("#zoomed-in").append('<img id="image" src="nicephoto.jpg" width="600px" height="auto" />');
          imageAppended = "yes";
        }
        // set background image
        $("#image").css({
          'position' : 'absolute'
        });

        // hover image coordinates
        var imagePosition     = $("#image-container").position();
            imagePositionTop  = imagePosition.top,
            imagePositionLeft = imagePosition.left,
            imageWidthOffset  = ( ( $("#image").width() ) /2 ),  // move image by center
            imageHeightOffset = ( ( $("#image").height() ) /2 ); // move image by center

        // move the image
        $("#image").css({
          'top' : (event.clientY)-imagePositionTop-imageHeightOffset,
          'left' : (event.clientX)-imagePositionLeft-imageWidthOffset
        });
</script>

$(“#坐标”).empty();
$(“#坐标”).append('x:'+event.clientX+'+','+'y:'+event.clientY+'');
//附加图像
如果(imageAppended==“无”){
$(“#放大”)。追加(“”);
imageadded=“是”;
}
//设置背景图像
$(“#图像”).css({
“位置”:“绝对”
});
//悬停图像坐标
var imagePosition=$(“#图像容器”).position();
imagePositionTop=imagePosition.top,
imagePositionLeft=imagePosition.left,
imageWidthOffset=($(“#image”).width())/2),//按中心移动图像
imageHeightOffset=($(“#image”).height())/2;//按中心移动图像
//移动图像
$(“#图像”).css({
“top”:(event.clientY)-ImagePositionTopImageHeightOffset,
“left”:(event.clientX)-imagePositionLeft imageWidthOffset
});

我不确定我是否了解你,但尝试将
溢出:隐藏设置为
#放大
我不确定我是否了解你,但尝试将
溢出:隐藏
设置为
#放大
这是正确答案-OP,我相信你的方法有困难的原因可以在这里看到:天啊,就是这样,这个问题也是一个一般性的问题,从“什么是做这件事的正确方法?”的意义上来说,这是正确的答案-哦,我相信你的方法有困难的原因可以在这里看到:天啊,就是这样,这个问题也是一个一般性的问题,即“什么是做这件事的正确方法?”