【问题标题】:display div according to scrolbar location根据滚动条位置显示 div
【发布时间】:2011-11-05 22:53:44
【问题描述】:

我想使用 jquery animate 显示一个弹出窗口(div)('top' 和 'left' 根据用户的位置)

我希望根据用户在页面中的位置显示此弹出窗口(顶部位置)(如果用户向下滚动页面,则弹出窗口将显示在用户在此页面上的位置)

我尝试获取鼠标坐标,在 Firefox 中它工作正常,因为鼠标的位置绝对位于屏幕顶部,但在 IE 中,鼠标的坐标是相对于屏幕顶部的用户的位置是。

这是获取鼠标坐标的代码

function getMouseXY(e) {

if (IE) { // grab the x-y pos.s if browser is IE
tempX = event.clientX + document.body.scrollLeft;

tempY = event.clientY + document.body.scrollTop;

} else { // grab the x-y pos.s if browser is NS
tempX = e.pageX;
tempY = e.pageY;
}
// catch possible negative values in NS4
if (tempX < 0) { tempX = 0 }
if (tempY < 0) { tempY = 0 }

}

相对于 IE 中的用户位置,我如何使用动画顶部和左侧?

感谢您的帮助

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    如果可以检测窗口大小和滚动条状态,则无需知道鼠标指针位置。

    function getPosition(){
      var width = 100; // popup width
      var height = 100; // popup height
    
      return {
        top: (($(window).height()-height)/2)+$(document).scrollTop(),
        left: (($(window).width()-width)/2)+$(document).scrollLeft()
      }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-14
      • 1970-01-01
      • 2012-02-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多