html表格的高度是1000px隐藏700px,显示300px的高度,当显示部分随内容减少高度也随之减少时,怎样才能动态获取到显示部分变化高度的js原生态代码
时间: 2024-09-21 15:12:48 浏览: 41
angularjs 页面自适应高度的方法
当你需要实现一个HTML表格高度动态调整的情况,可以使用JavaScript来监听表格的内容变化,并据此更新其实际可见的高度。以下是一个基本的原生JavaScript示例:
```javascript
// 获取表格元素
var tableElement = document.getElementById('yourTableId');
// 获取表格当前高度(包括隐藏部分)
function getTableTotalHeight() {
return tableElement.offsetHeight;
}
// 获取显示部分的高度
function getVisibleHeight() {
return Math.min(tableElement.scrollHeight, window.innerHeight);
}
// 监听窗口滚动事件,当内容滚动到一定位置时改变显示高度
window.addEventListener('scroll', function() {
var visibleRatio = (getVisibleHeight() - tableElement.offsetTop) / getTableTotalHeight();
if (visibleRatio > 0.7) { // 当显示部分超过70%时
tableElement.style.height = '300px'; // 设置显示部分为300px
} else if (visibleRatio <= 0.3) { // 否则,如果显示部分少于30%
tableElement.style.height = getVisibleHeight() + 'px'; // 显示完整可见高度
}
});
阅读全文