本来以前写过一个鼠标跟随的代码,结果到新项目中不好用了,后来查到了原因是我的网页做了如果的声明
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
当有此声明后document.body.scrollTop的值就永远都是0了,解决办法是只需把document.body用document.documentElement替换即可。
<div style='visibility:hidden;border:1px solid #000000;background-color:#FFFFCC;font-size:12px;position:absolute;width:100;' id='altLayer'></div>
</body>
<script>
function uf_displayDiv(){
objAltLayer=document.getElementById("altLayer");
objAltLayer.style.visibility='visible';
if(objAltLayer.style.visibility=='visible') {
if (window.navigator.userAgent.indexOf("MSIE")>=1){
//如果浏览器为IE
//var toplen=document.body.scrollTop;//原来的写法
var toplen=document.documentElement.scrollTop;//最新的写法
objAltLayer.style.left=document.documentElement.scrollLeft+event.x;
objAltLayer.style.top=document.documentElement.scrollTop+event.y+20;
}
}
}
</script>