Javascript 预览窗口功能类似于StackOverflow标记

Javascript 预览窗口功能类似于StackOverflow标记,javascript,preview,Javascript,Preview,我正在尝试使用javascript创建一个项目预览(quickview),根据鼠标位置改变它的方向。我希望拥有与stackoverflow中现有功能类似的功能: 当项目位于页面底部时,预览窗口应更改其方向(当页面滚动或浏览器窗口调整大小时)。当前它显示在光标下方或上方,但与实际光标位置无关(与屏幕或浏览器窗口大小无关)。我是javascript新手,非常感谢您的帮助 以下是我作为起点使用的代码: function AssignPosition(d) { if(self.pageYOffset)

我正在尝试使用javascript创建一个项目预览(quickview),根据鼠标位置改变它的方向。我希望拥有与stackoverflow中现有功能类似的功能:

当项目位于页面底部时,预览窗口应更改其方向(当页面滚动或浏览器窗口调整大小时)。当前它显示在光标下方或上方,但与实际光标位置无关(与屏幕或浏览器窗口大小无关)。我是javascript新手,非常感谢您的帮助

以下是我作为起点使用的代码:

function AssignPosition(d) {

if(self.pageYOffset) {
    rX = self.pageXOffset;
    rY = self.pageYOffset;
    }
else if(document.documentElement && document.documentElement.scrollTop) {
    rX = document.documentElement.scrollLeft;
    rY = document.documentElement.scrollTop;
    }
else if(document.body && document.body.scrollTop) {
    rX = document.body.scrollLeft;
    rY = document.body.scrollTop;
    }
if(document.all) {
    cX += rX; 
    cY += rY;
    }

var divHeight = d.style.height.replace(/px/, "");
divHeight = parseInt(divHeight);
if (cY < divHeight * 3 ) {
    d.style.left = (cX+50) + "px";
    d.style.top = (cY-10) + "px";
    }

else {
    cY = cY - divHeight;
    d.style.left = (cX+50) + "px";
    d.style.top = (cY-10) + "px";
    }
功能分配位置(d){
if(自我页面偏移){
rX=自我页面偏移;
rY=自我页面偏移量;
}
else if(document.documentElement&&document.documentElement.scrollTop){
rX=document.documentElement.scrollLeft;
rY=document.documentElement.scrollTop;
}
else if(document.body&&document.body.scrollTop){
rX=document.body.scrollLeft;
rY=document.body.scrollTop;
}
如果(全部文件){
cX+=rX;
cY+=rY;
}
var divHeight=d.style.height.replace(/px/,“”);
divHeight=parseInt(divHeight);
如果(cY
}