Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用jquery scrollTop定位绝对Div_Jquery_Scrolltop - Fatal编程技术网

使用jquery scrollTop定位绝对Div

使用jquery scrollTop定位绝对Div,jquery,scrolltop,Jquery,Scrolltop,我试图使用Jquery定位绝对DIV,具体取决于用户在页面上单击的位置 目前这一切都很好 $('#window').css('left', jsEvent.pageX); $('#window').css('top', jsEvent.pageY); 这将元素精确定位在鼠标单击屏幕的位置 直到你向下滚动,这是。这就是为什么我试图实现一些东西,将从页面顶部的像素数量考虑在内。我以为是这样的 $('#window').css('top', jsEvent.pageY + scrollTop());

我试图使用Jquery定位绝对DIV,具体取决于用户在页面上单击的位置

目前这一切都很好

$('#window').css('left', jsEvent.pageX);
$('#window').css('top', jsEvent.pageY);
这将元素精确定位在鼠标单击屏幕的位置

直到你向下滚动,这是。这就是为什么我试图实现一些东西,将从页面顶部的像素数量考虑在内。我以为是这样的

$('#window').css('top', jsEvent.pageY + scrollTop());
很不幸,它不起作用

有什么提示吗

谢谢


Tim

这在Firefox中绝对有效。因此,它应该在Chrome、Safari和Opera中工作。不过,我不能完全肯定。试试看

$('#window').css({
    left: e.clientX
    , top: e.clientY + document.documentElement.scrollTop
});
编辑:如果不是所有浏览器,这个新版本应该适用于大多数浏览器。

var rxp = /webkit/gi;

$('#window').css({
   left: e.clientX
   , top: e.clientY + rxp.test(window.navigator.userAgent) ? document.body.scrollTop : document.documentElement.scrollTop
}); 

不幸的是,这并不能解决这个问题。与我的原始代码相比,我看不出结果有什么不同。还有其他想法吗?我刚刚提醒document.documentElement.scrollTop,当我向下滚动时,它仍然为零。仍然没有。可能是因为这些都是在回调中调用的。但我认为这无关紧要。尝试的要点:)