首页 新闻 会员 周边 捐助

JS关于div跟随鼠标移动的问题

-1
[已解决问题] 解决于 2012-11-07 11:43

代码如下,没能达到预期的效果啊,帮忙看看哪里的问题。。。谢

<head>
<title></title>
<script type="text/javascript">
document.onmousemove = function () {
var divx = window.event.clientX;
var divy = window.event.clientY;
var divmove = document.getElementById("divMove");
if (!divmove) {
returnn;
}
divmove.style.left = divx;
divmove.style.top = divy;
}
</script>

</head>

<body>
<div id="divMove" style="position: absolute">
<img src="images/00_46.jpg" alt="Liam"/>
<br />
我是oasis主唱Liam!
</div>
</body>

问题补充:

终于发现了一个问题:这段代码确实是可以达到效果的,但前提是不能加

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

这段代码。

这应该也是在vs中打开没有效果的原因,我之前说在把代码复制到记事本也不行,应该就是因为把上面这段代码也复制进去了。

现在反复试,已确定加上这段代码就没有效果而去掉这段代码就有效果。这是为什么?

kafka No.14的主页 kafka No.14 | 初学一级 | 园豆:122
提问于:2012-07-10 10:46
< >
分享
最佳答案
0

你要什么效果 ,都不说清楚,奇怪不是 ...

奖励园豆:5
张坤 | 小虾三级 |园豆:1865 | 2012-07-10 12:46

疏忽了。。但是1楼说了。。就是想让div跟随着鼠标移动。。。

kafka No.14 | 园豆:122 (初学一级) | 2012-07-10 13:04

@Rakanishu5:  我看 ie9 和 chrome 下面功能是正常的 !

张坤 | 园豆:1865 (小虾三级) | 2012-07-10 13:38

@张坤: 嗯,在vs中打开和用记事本有区别么,除了有无图片?用记事本可以了,但在vs中还是不行。。。

kafka No.14 | 园豆:122 (初学一级) | 2012-07-13 13:51

@Rakanishu5: 

测试发现,如果么有加 doc type 的时候,

如果给元素直接指定 top , left ,height , width 可以直接指定数字即可,比如

element.style.left = 200;

但是如果有 doc type 头时,需要在单位后面加上 px ,比如

element.style.left = "200px";

 

doc type 有三种模式,你可以再研究研究,哈哈 !

张坤 | 园豆:1865 (小虾三级) | 2012-07-13 17:22

@张坤: 是的!

var divx = window.event.clientX+"px";

var divy = window.event.clientY+"px";

这样就可以了!

kafka No.14 | 园豆:122 (初学一级) | 2012-07-20 18:18

@Rakanishu5: 结贴,散分吧 !

张坤 | 园豆:1865 (小虾三级) | 2012-07-20 20:20
其他回答(4)
0

目前的代码不是可以随鼠标移动么?你要什么效果?

artwl | 园豆:16736 (专家六级) | 2012-07-10 11:16

但是现在它不随鼠标移动。。不知道哪儿的问题。。。

支持(0) 反对(0) kafka No.14 | 园豆:122 (初学一级) | 2012-07-10 11:30

@Rakanishu5: 建议直接用

<!DOCTYPE html>
<html>
支持(0) 反对(0) artwl | 园豆:16736 (专家六级) | 2012-07-13 17:48

@artwl: 这样写的好处是?

试了下,对这个js不行。。只有这段代码完全去掉或者给divx、divy赋值的时候+"px"才行。。

支持(0) 反对(0) kafka No.14 | 园豆:122 (初学一级) | 2012-07-20 18:22
0

你用的是什么浏览器测试的?

dudu | 园豆:30778 (高人七级) | 2012-07-10 11:39

chrome,但我也复制粘贴到记事本里。。然后改后缀用ie9打开,也不行。。。

支持(0) 反对(0) kafka No.14 | 园豆:122 (初学一级) | 2012-07-10 11:45

@Rakanishu5: 我这里在Chrome中是正常的

支持(0) 反对(0) dudu | 园豆:30778 (高人七级) | 2012-07-10 12:17

@dudu: 今天看了下,居然可以了。但在vs中加载了图片就不行,不知道为什么。

支持(0) 反对(0) kafka No.14 | 园豆:122 (初学一级) | 2012-07-13 13:50
0

网页标准的问题 符合标准的是应该有"px"的,在有标准的前提下有些浏览器没有"px"也能出效果是浏览器自动帮你加上了,考虑到兼容还是要加上

BiakeChou | 园豆:204 (菜鸟二级) | 2012-07-23 16:12

嗯,谢谢!

支持(0) 反对(0) kafka No.14 | 园豆:122 (初学一级) | 2012-07-24 09:27
0

http://www.osctools.net/jsbin/svveawni/1  我这个演示看没问题哦

Bluishoul | 园豆:212 (菜鸟二级) | 2012-08-13 16:28

嗯,确实是正常的。。。已经明白了是为什么,谢谢!

支持(0) 反对(0) kafka No.14 | 园豆:122 (初学一级) | 2012-08-13 16:35
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册