在您的 jsfiddle 中,您不能向上和向左移动,因为没有空间可以去那里。
这是一些使用固定值而不是计算它们的代码,如果您希望使用拇指使其变得复杂,那么您应该预加载加载图像,当鼠标过度加载大图像/显示加载以及大图像时加载设置原始图像的src并重做样式。
<!DOCTYPE html>
<html>
<head>
<script>
function expand(obj){
obj.style.position="relative";
obj.style.left="-100px";
obj.style.top="-100px";
obj.style.width="200px";
obj.style.height="200px";
}
function smaller(obj){
obj.style.position="static";
obj.style.width="100px";
obj.style.height="100px";
}
</script>
</head>
<body>
<table>
<tbody>
<tr>
<td colspan=2 style="height:150px">
<p>Some text here Some text here Some text here Some text here
Some text here Some text here Some text here Some text here </p>
</td>
</tr>
<tr>
<td style="width:200px"></td>
<td>
<div style="width:100px;height:100px" id="needThisContainer">
<img src="picture.jpg" style="width:100px;height:100px"
onmouseover="expand(this);"
onmouseout="smaller(this)"/>
</div>
</td>
</tr>
</tbody>
</table>