不知道哪里不对,mousePos.x的值始终是NAN,请大家帮我看看,非常感谢<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style>
.star{
position:relative;
}
#tr,#lt{
background:url(img/star-bg.gif) no-repeat;
height:27px;
position:absolute;
cursor:pointer;
}
#tr{
background-position:0 0;
width:110px;
}
#lt{
background-position:0 -30px;
z-index:10;
}
.wh{width:75px;}
</style>
</head><body>
<div class="star">
<div id="tr"></div>
    <div id="lt" class="wh"></div>
</div>
<div style="padding-top:50px;">
<input id="fenshu" value="" />
</div>
<script>
var kg = document.getElementById("tr");
var lg = document.getElementById("lt");
window.onload = changeColor;
function changeColor(ev){
if(lg.className == "wh"){
kg.onmousemove = function(){
mouseMove(ev)
}
lg.onclick = function(){
lg.style.width = "90px";
}
}else{
lg.onmouseout = function(){
lg.style.width = "";
}
}
}
function mousePosition(ev){
     if(ev.pageX || ev.pageY){
      return {x:ev.pageX, y:ev.pageY};
      }
      return {
       x:ev.clientX,
       y:ev.clientY
       };
 }
 function mouseMove(ev){
    ev = ev || window.event;
    var mousePos = mousePosition(ev);
document.getElementById("fenshu").value = mousePos.x ;
document.getElementById("lt").style.width = mousePos.x +"px" ;
}
</script>
</body>
</html>

解决方案 »

  1.   

    function mousePosition(ev) {  if (ev.pageX || ev.pageY) {   
          return {x:ev.pageX, y:ev.pageY};
        }    return {
          x: window.event.clientX,
          y: window.event.clientY
           };
     }
      

  2.   

    function changeColor(){
        if(lg.className == "wh"){
            kg.onmousemove = function(ev){
                mouseMove(ev)
            }
            lg.onclick = function(){
                lg.style.width = "90px";
            }
        }else{
            lg.onmouseout = function(){
                lg.style.width = "";    
        }
            }
    }