代码如下,没能达到预期的效果啊,帮忙看看哪里的问题。。。谢
<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中打开没有效果的原因,我之前说在把代码复制到记事本也不行,应该就是因为把上面这段代码也复制进去了。
现在反复试,已确定加上这段代码就没有效果而去掉这段代码就有效果。这是为什么?
你要什么效果 ,都不说清楚,奇怪不是 ...
疏忽了。。但是1楼说了。。就是想让div跟随着鼠标移动。。。
@Rakanishu5: 我看 ie9 和 chrome 下面功能是正常的 !
@张坤: 嗯,在vs中打开和用记事本有区别么,除了有无图片?用记事本可以了,但在vs中还是不行。。。
@Rakanishu5:
测试发现,如果么有加 doc type 的时候,
如果给元素直接指定 top , left ,height , width 可以直接指定数字即可,比如
element.style.left = 200;
但是如果有 doc type 头时,需要在单位后面加上 px ,比如
element.style.left = "200px";
doc type 有三种模式,你可以再研究研究,哈哈 !
@张坤: 是的!
var divx = window.event.clientX+"px";
var divy = window.event.clientY+"px";
这样就可以了!
@Rakanishu5: 结贴,散分吧 !
目前的代码不是可以随鼠标移动么?你要什么效果?
但是现在它不随鼠标移动。。不知道哪儿的问题。。。
@Rakanishu5: 建议直接用
<!DOCTYPE html> <html>
@artwl: 这样写的好处是?
试了下,对这个js不行。。只有这段代码完全去掉或者给divx、divy赋值的时候+"px"才行。。
你用的是什么浏览器测试的?
chrome,但我也复制粘贴到记事本里。。然后改后缀用ie9打开,也不行。。。
@Rakanishu5: 我这里在Chrome中是正常的
@dudu: 今天看了下,居然可以了。但在vs中加载了图片就不行,不知道为什么。
网页标准的问题 符合标准的是应该有"px"的,在有标准的前提下有些浏览器没有"px"也能出效果是浏览器自动帮你加上了,考虑到兼容还是要加上
嗯,谢谢!