gpt4 book ai didi

jquery - 计算 div 何时触底的最佳方法?

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

我有一个动态生成 div 框的应用程序。这些框彼此重叠,并向下和向右移动 15 像素。

但是,当一个框的底部到达页面底部时,我希望下一个框出现在页面顶部。当框的右侧碰到页面的右侧时也是如此(即框不应超出页面)。

下面是我的代码,但它没有按我的意愿工作。盒子在左侧出现之前在右侧“越界”,并且关于底部也不是真的正确。我想有更好的方法来完成这个,我只是不知道它是什么。

var win = $('<div/>', {
'class': 'window',
'width': this.width,
'height': this.height
}).appendTo('#container');

var containerHeight = $('#container').height();
var maxBottom = (desktopHeight / 2);

var containerWidth = $('#container').width();
var maxRight = desktopWidth;

var prev = win.prev('.window');
if (prev.length > 0) {

win.offset({
left: prev.offset().left + 15,
top: prev.offset().top + 15 });

if (prev.offset().top >= maxBottom){
win.offset({
top: 10
});
}
if (prev.offset().left >= maxRight){
win.offset({
left: 0
})
}
}

最佳答案

您可以检查元素的 .offset().top 属性加上元素的 .height() 是否等于或大于 .height() 如果文档:

var myBox   = $('#my-box'),
bHeight = myBox.height(),
wHeight = $(window).height(),
bWidth = myBox.width(),
wWidth = $(window).width();

if (myBox.offset().top + bHeight >= wHeight) {
myBox.css({
top : 0
});
}

if (myBox.offset().left + bWidth >= wWidth) {
myBox.css({
left : 0
});
}

关于jquery - 计算 div 何时触底的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8546820/

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