function ShowYdWindow()
 {  
   
 document.getElementById("Hotel_yd").style.left =(event.x-350)+"px";
 alert(event.x);
 alert(event.y);
 document.getElementById("Hotel_yd").style.top =(event.y)+"px";
 document.getElementById("Hotel_yd").style.display ="block";
 document.getElementById("SelectFrame").src ="fangxingselect.asp";
 }
<div id="Hotel_yd" class="Hotel_yd" style="display:none;Z-index:9999; position:absolute; left:0px; top:0px;">
<iframe src="fangxingselect.asp" width="360" height="110" scrolling="no" frameborder="0"   name="SelectFrame" id="SelectFrame"></iframe>
</div>现在问题是  我想点击哪里 div出现的位置在哪里,但现在有一个问题,当屏幕刚好是一屏的时候 显示是正常的,但现在问题来了,当 y轴 超出一屏范围的时候 显示就不正常了。比如当我拉到网页底部 去点击一个事件得到的 y 就不对了。有没办

解决方案 »

  1.   

    document.getElementById("Hotel_yd").style.top =(event.y) + document.body.scrollTop+"px";
      

  2.   

        var strElementID = "#" + strCommunityID;
        var X = $(strElementID).offset().top;
        var Y = $(strElementID).offset().left;
        $("#HouseContainer").removeClass("styleContainer");
        $("#dvHouseWindPanel").css({ position: "absolute", display: "block", top: X / 2 + "px", left: Y / 2 + "px" });
      

  3.   

    再问一个问题 火狐下怎么解决兼容性的问题 用event.x 在火狐下不支持。
      

  4.   


     function ShowYdWindow(event)
         {  
             var event = event || window.event
             var left = event.clientX;
             var top = event.clientY;
             document.getElementById("Hotel_yd").style.left =(left-350)+"px";
             alert(event.x);
             alert(event.y);
             document.getElementById("Hotel_yd").style.top = top + "px";
             document.getElementById("Hotel_yd").style.display ="block";
             document.getElementById("SelectFrame").src ="fangxingselect.asp";
         }