gpt4 book ai didi

javascript - 如何计算坐标以将元素保持在用户屏幕区域中

转载 作者:行者123 更新时间:2023-11-28 06:23:23 25 4
gpt4 key购买 nike

我需要在坐标 e.pageXe.pageY 上添加一个绝对元素,其中 eevent 对象传递给 mouseover 回调函数。

这不是问题:

element.css({
'position': 'absolute',
'z-index': 300,
'left': e.pageX,
'top': e.pageY
});

问题是新元素可以放在当前用户屏幕之外,因此他们需要滚动页面才能查看相应的元素。

如何检查边界并进行适当的计算以使其出现在用户屏幕区域中?

您知道任何现成的解决方案吗?还是我应该考虑自己定制一个?

最佳答案

你可以这样做

var left = e.pageX;
var top = e.pageY;
var right = $( window ).width();
var bottom = $( window ).height();
var elwidth = element.offsetWidth; /* assuming "element" is an element reference */
var elheight = element.offsetHeight; /* assuming "element" is an element reference */

if ((e.pageX + elwidth) > right) {
left = e.pageX - ((e.pageX + elwidth) - right);
}
if ((e.pageY + elheight) > bottom) {
top = e.pageY - ((e.pageY + elheight) - bottom);
}

element.css({
'position': 'absolute',
'z-index': 300,
'left': left,
'top': top
});

关于javascript - 如何计算坐标以将元素保持在用户屏幕区域中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35428536/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com