gpt4 book ai didi

javascript - 元素相对于视口(viewport)的位置

转载 作者:可可西里 更新时间:2023-11-01 13:28:29 26 4
gpt4 key购买 nike

我正在尝试计算元素相对于视口(viewport)的位置(上方、下方或视口(viewport)中):

    var viewportBottom = function () {
return window.pageYOffset;
},
viewportTop = function () {
return window.pageYOffset - window.innerHeight;
},
elementTop = function ($e) {
return $e.offset().top - $e.height();
},
elementBottom = function ($e) {
return elementTop($e) + $e.height();
};


var aboveViewport = viewportTop() > elementBottom(this.$e),
belowViewport = viewportBottom() < elementTop(this.$e),
inViewport = !aboveViewport && !belowViewport;

只有当元素的高度与视口(viewport)相同时,才能正确计算。我错过了什么?

最佳答案

这个 api 对我有用:getBoundingClientRect ,它专门用于评估相对于视口(viewport)的位置。

这是我最后做的:

var container     = element.getBoundingClientRect(),
aboveViewport = (container.top + container.height) < 0 ,
belowViewport = container.top > $(window).height(),
inViewport = !aboveViewport && !belowViewport,

关于javascript - 元素相对于视口(viewport)的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34005441/

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