<html>
<head>
<style>
a{
position:relative;
}
</style>
<script type="text/javascript">
mouseover=true
function coordinates(event){
if (!moveMe){
alert("return");
return;
}
var event = event || window.event;
var eventId = event.srcElement?event.srcElement.id : event.target.id;
if (eventId =="moveMe"){
mouseover=true;
pleft=document.getElementById('moveMe').style.pixelLeft;
ptop=document.getElementById('moveMe').style.pixelTop;
xcoor=event.clientX;
ycoor=event.clientY;
document.onmousemove=moveImage
}
}function moveImage(event){
var event = event || window.event;
//alert(mouseover+"---"+event.button);
var eventButton = event.target?event.button:event.button-1;
//因为鼠标事件在不同浏览器下,取值是不同的,自己可以去查查看。
if (mouseover&&eventButton == 0){
document.getElementById('moveMe').style.pixelLeft=pleft+event.clientX-xcoor;    document.getElementById('moveMe').style.pixelTop=ptop+event.clientY-ycoor;
return false;
}
}function mouseup(){
mouseover=false;
}
document.onmouseup=mouseup;
document.onmousedown=coordinates;</script>
</head>
<body>
<a  id="moveMe" href = "http://www.baidu.com" >百度</a>
</body>
</html>
document.getElementById('moveMe').style.pixelLeft
就是这个东西,在火狐下无法取到值,也没有办法赋值。
哪位大神指点一下啊。

解决方案 »

  1.   

    赋值:
    document.getElementById('moveMe').style.left= leftValue +"px";取值:
    var leftValue = parseInt(document.getElementById('moveMe').style.left,10);
      

  2.   

    pixelLeft这个东西firefox好像不行的,用left就好了啊 
      

  3.   


    赋值是可以用的,但是取值不对,取不到值,我这边取值显示的内容为NaN,我用的火狐的版本是13.0.1
    同时,我用笨方法做了一下,但是还有个问题,是在火狐下,在拖动之后,第一次放开鼠标左键时不会被触发,点右键的话,会触发的。就是onmouseup事件没有被执行。麻烦帮忙给看下情况呗,谢谢啦。
    <html>
    <head>
    <style>
    a{
    position:relative;
    }
    </style>
    <script type="text/javascript">
    mouseover=true
    function coordinates(event){
    if (!moveMe){
    alert("return");
    return;
    }
    var event = event || window.event;
    var eventId = event.srcElement?event.srcElement.id : event.target.id;
    if (eventId =="moveMe"){
    mouseover=true;
    pleft=document.getElementById('moveMe').style.pixelLeft;
    ptop=document.getElementById('moveMe').style.pixelTop;
    if(!pleft){
    pleft = event.pageX - 2;
    }
    if(!ptop){
    ptop = event.pageY - 2;
    }
    xcoor=event.clientX;
    ycoor=event.clientY;
    document.onmousemove=moveImage
    }
    }function moveImage(event){
    var event = event || window.event;
    var eventButton = event.target?event.button:event.button-1;
    //因为鼠标事件在不同浏览器下,取值是不同的,自己可以去查查看。
    if (mouseover&&eventButton == 0){
    document.getElementById('moveMe').style.left=pleft+event.clientX-xcoor + "px";    document.getElementById('moveMe').style.top=ptop+event.clientY-ycoor + "px";
    return false;
    }
    }function mouseup(){
    alert("up");//火狐下,这个在拖动之后,第一次放开鼠标左键时不会被触发,有人知道情况吗?
    mouseover=false;
    }
    document.onmouseup=mouseup;
    document.onmousedown=coordinates;</script>
    </head>
    <body>
    <a  id="moveMe" href = "http://www.baidu.com" >百度</a>
    </body>
    </html>
      

  4.   

    用这个也只是在赋值时可用,取值得出的结果是NaN,还不行
    还有个情况,在楼上写了一下,帮忙给看一下呗,谢谢啦