【发布时间】:2021-03-28 17:04:15
【问题描述】:
var triggers = document.getElementsByClassName('trigger');
for (x in triggers) {
cur = triggers[x]
if (cur.offsetHeight < 135) {
console.log('hiding we');
// prevents it from propagating to parentNode and changing it
e.preventDefault();
$(cur).find('.trigger-we').hide();
console.log('icon should be hidden')
}
else {
e.preventDefault();
// $(cur).find('.trigger-icon').show();
$(cur).find('.trigger-we').show();
}
}
});
我有以下代码用于在调整窗口大小时根据父 div 的高度隐藏父 div 内的特定元素。 “触发器”类下有多个父 div,我遍历它们中的每一个(通过 for 循环)并检查其偏移高度(显示高度),如果它小于某个阈值,我隐藏该父级的特定 div 子级div,但它们并没有被隐藏,有人知道为什么吗?
【问题讨论】:
-
您应该使用
for-of-loop,而不是for-in-loop。 Difference -
发布生成的 HTML。
-
生成的 html 根本不受父 div 大小变化的影响,当我调整浏览器窗口大小时子 div 不会隐藏
-
为什么是 for-of-loop 而不是 for-in-loop?
标签: javascript html jquery css