回 帖 发 新 帖 刷新版面

主题:写了一个网页元素移动代码,但是只能往右边移动.不解.

写了一个网页元素移动代码,但是只能往右边移动,不能往左边移动,奇怪了.
代码如下:
<html>
<head><title>移动网页元素</title>
<script language="javascript">
function zuobiao(){
var abc=document.getElementById("layer1");
var shubiaox=window.event.clientX ; //鼠标点击时所处document的位置
var shubiaox2=window.event.offsetX;//鼠标对于事件对象内的位置
abc.style.left=(shubiaox-shubiaox2)+"px";
}
</script>
<style type="text/css">
<!--
#Layer1 {
    position:absolute;
    left:60px;
    top:58px;
    width:200px;
    height:200px;
    z-index:1;
    background-color:#000000;
}
-->
</style>
</head>
<body>
<div id="Layer1" onmousemove="zuobiao()"></div>
</body>
</html>

大家可以实验下,只能往右边移动,郁闷了.
是因为shubiaox-shubiaox2值一直大不会小,所以一直右移动,而不会左移动.
但为什么这个值会只大不小了,希望大家帮忙解答下.

回复列表 (共12个回复)

11 楼

自己一个人能够解决对自己来说是个提高啊,我收藏了.

12 楼

还有一些小问题,主要是坐标计算的合理性问题,我认为应当是:

var deltax=parseInt(abc.currentStyle.width)/2;
var deltay=parseInt(abc.currentStyle.height)/2;

我来回复

您尚未登录,请登录后再回复。点此登录或注册