jQuery:如何检查元素是否超出浏览器窗口的大小,以及如何重新定位它

标签 jquery popup window positioning

我有这个代码:

var pos = $(this).offset();
var width = $(this).width();

userPreviewCon.css({
     left: (pos.left + 30) + 'px',
     top: (pos.top + 15) + 'px'
}).fadeIn();

...用于相对于鼠标指向的元素定位弹出窗口。

但是,当元素靠近窗口边框时,某些工具提示将不可见,因为其中一部分超出了窗口大小。问题是:如何重新定位工具提示,使其不再超出窗口边框?

最佳答案

要获取窗口的宽度,您可以这样做

$(window).width();

然后检查一下这是否离您想要的一侧太远(从您发布的内容来看,进行此评估

(pos.left + 30) > $(window).width();

最后,如果这个评估是正确的,您可以执行以下操作

pos.left -= pos.left + 30 - $(window).width();

这应该使您的工具提示框弹出,使其右边缘位于窗口的右边缘。

关于jQuery:如何检查元素是否超出浏览器窗口的大小,以及如何重新定位它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6403849/

相关文章:

jquery - 传单弹出内容上的点击事件

javascript - Firefox 4 : Dynamically opened window opens new tabs in old window (i. e. window.opener)

javascript - 尝试关闭弹出窗口并重新加载其父页面

javascript - 检测元素边界是否与父边界重叠?

javascript - 使用 Angular 导航时调用函数

java - 调整组合框弹出窗口的大小

javascript - 即使您移动到另一个页面并将弹出数据带到另一个页面,如何使弹出窗口弹出?

Java Swing - 一个窗口中的多个控件集

javascript - 如何构建具有多个复选框的过滤器模块?

javascript - 按顺序加载 JavaScript 脚本