js部分function toTop(newTop) {
    document.getElementById("p").src=document.getElementById(newTop).src;
/*将原来图片的绝对位置传给新的图片*/
document.getElementById("p").style.left=document.getElementById(newTop).style.left;
document.getElementById("p").style.top=document.getElementById(newTop).style.top;
document.getElementById("p").style.visibility ="visible";}
传值没有效果。还是按照原来位置显示。。而且浏览器也不报错!!!!!!!
求原因JavaScript绝对定位

解决方案 »

  1.   

    看看document.getElementById(newTop).style.left;获得到了什么值 这个是获得不到在样式表里定义的数据的
    document.getElementById("p").style.left=parseInt(document.getElementById(newTop).style.left)+"px";
      

  2.   

    好吧。没仔细看代码。你的问题应该是newTop压根就没有style这个属性,也就是说你的newTop的left跟top是写在CSS里的,这样是没办法通过style来获取left跟top的当然要想获取css里的样式,还是可以的,不过牵扯到兼容性问题。大概就是currentStyle跟defaultView这2个属性的使用了,具体的自己百度一下哈。
      

  3.   

    你先去搞清楚获取元素当前样式的机制好不好?说了newTop没有style属性,没有写在HTML里面,也没有用JS设置newTop的left跟top,你那样获取肯定获取不到的。你设置了可见只能获取到visibility,left跟top还是获取不到。
      

  4.   

    是不是这个图片在旧的图片下面,所以没有看到,你设置一下zIndex,把它设大一点
      

  5.   

    function toTop(newTop) {
        document.getElementById("p").src=document.getElementById(newTop).src;
    /*将原来图片的绝对位置传给新的图片*/
    document.getElementById("p").style.left=document.getElementById(newTop).offsetLeft + 'px';}这样获取和设置 left 试下