gpt4 book ai didi

javascript - 如何找出导致滚动条的元素

转载 作者:搜寻专家 更新时间:2023-10-31 08:29:59 26 4
gpt4 key购买 nike

我有一个关于调试的特定问题。我想让你问,我如何找出整个标记的哪个元素导致了滚动条。任何一种方法都可以。我考虑过在开发人员工具中搜索 overflow,但这对我没有帮助。

有谁知道我该如何解决这个问题?

最佳答案

您需要检查一些事项。首先,一个元素有一个溢出会产生一个滚动条:overflow: scroll 强制它们并且 overflow: auto 将在必要时显示它们。如果溢出是自动的,您可以检查它的滚动高度与它的实际高度。

function isScroller(el) {
var isScrollableWidth, isScollableHeight, elStyle;
elStyle = window.getComputedStyle(el, null); // Note: IE9+
if (elStyle.overflow === 'scroll' ||
elStyle.overflowX === 'scroll' ||
elStyle.overflowY === 'scroll') {
return true;
}
if (elStyle.overflow === 'auto' ||
elStyle.overflowX === 'auto' ||
elStyle.overflowY === 'auto') {
if (el.scrollHeight > el.clientHeight) {
return true;
}
if (el.scrollWidth > el.clientWidth) {
return true;
}
}
return false;
}

var els = document.querySelectorAll('body *');
for (var i = 0, el; el = els[i]; i++) {
if (isScroller(el)) {
console.log(el);
}
}

你可以在这里看到它(打开你的控制台):http://jsfiddle.net/rgthree/zfyhby1j/

请注意,某些触摸设备可能不会在滚动时产生实际的“滚动条”。这不会检测到该元素能够滚动。

关于javascript - 如何找出导致滚动条的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27822505/

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