0
我試圖從頭開始。Javascript圖像懸停縮放彈出窗口
我的想法是將彈出背景設置爲更大版本的圖像懸停。然後,您將背景圖像像構成單個精靈圖像的圖像片段集合一樣移動。
我不知道我是否錯過了一些東西。在這個演示中,我試圖通過使用z-index來隱藏圖像的其餘部分,但它似乎並沒有工作。
有110行代碼,所以我只是發佈工作演示鏈接,如果沒關係。
這是主要的驅動程序代碼,雖然
這就是鼠標移動標籤,它是鼠標懸停標籤
的想法是,當你將鼠標懸停在圖像,座標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>
這是正確的答案--OP,我相信你的方法有困難的原因可以在這裏看到:http://stackoverflow.com/questions/12051857/z-index-on-absolutely-positioned-nested - 元素 – Brian
就是這樣的神聖廢話,這個問題也是一個普遍的問題,即「什麼是正確的做法?」 – joehungjohn
@布萊恩感謝您的鏈接 – joehungjohn