【问题标题】:Using jquery scrollTop to position absolute Div使用 jquery scrollTop 定位绝对 Div
【发布时间】:2010-05-16 04:26:21
【问题描述】:

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

目前这很好用

$('#window').css('left', jsEvent.pageX);
$('#window').css('top', jsEvent.pageY);

这会将元素准确定位在我的鼠标点击屏幕的位置...

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

$('#window').css('top', jsEvent.pageY + scrollTop());

可以解决问题,不幸的是它不起作用。

有什么提示吗?

谢谢,

提姆

【问题讨论】:

    标签: jquery scrolltop


    【解决方案1】:

    这绝对适用于 Firefox。因此,它应该可以在 Chrome、Safari 和 Opera 中运行。 IE 但是,我不完全确定。试一试。

    $('#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,当我向下滚动时它仍然为零。
    • 还是没有。也许是因为这些是在回调中调用的。但我认为这并不重要。尝试的要点:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多