首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

10种js控制div的显示隐藏代码

在JavaScript中,有多种方法可以控制<div>元素的显示和隐藏。以下是10种常见的方法:

1. 使用 style.display

代码语言:txt
复制
// 显示
document.getElementById('myDiv').style.display = 'block';

// 隐藏
document.getElementById('myDiv').style.display = 'none';

2. 使用 classList.toggle

代码语言:txt
复制
// CSS
/* .hidden { display: none; } */

// JavaScript
document.getElementById('myDiv').classList.toggle('hidden');

3. 使用 setAttributeremoveAttribute

代码语言:txt
复制
// 显示
document.getElementById('myDiv').removeAttribute('hidden');

// 隐藏
document.getElementById('myDiv').setAttribute('hidden', 'hidden');

4. 使用 jQuery (假设已引入jQuery库)

代码语言:txt
复制
// 显示
$('#myDiv').show();

// 隐藏
$('#myDiv').hide();

5. 使用 getComputedStyle

代码语言:txt
复制
function isHidden(element) {
    return window.getComputedStyle(element).display === 'none';
}

// 使用示例
if (isHidden(document.getElementById('myDiv'))) {
    // 隐藏状态下的操作
} else {
    // 显示状态下的操作
}

6. 使用 visibility 属性

代码语言:txt
复制
// 显示
document.getElementById('myDiv').style.visibility = 'visible';

// 隐藏
document.getElementById('myDiv').style.visibility = 'hidden';

7. 使用 opacity 属性

代码语言:txt
复制
// 显示
document.getElementById('myDiv').style.opacity = '1';

// 隐藏
document.getElementById('myDiv').style.opacity = '0';

8. 使用 heightoverflow 属性

代码语言:txt
复制
// 显示
document.getElementById('myDiv').style.height = 'auto';
document.getElementById('myDiv').style.overflow = 'visible';

// 隐藏
document.getElementById('myDiv').style.height = '0';
document.getElementById('myDiv').style.overflow = 'hidden';

9. 使用 max-height 属性

代码语言:txt
复制
// 显示
document.getElementById('myDiv').style.maxHeight = '100%';

// 隐藏
document.getElementById('myDiv').style.maxHeight = '0';

10. 使用 requestAnimationFrame 进行动画控制

代码语言:txt
复制
function animateVisibility(element, visible) {
    let start;
    function step(timestamp) {
        if (!start) start = timestamp;
        const progress = timestamp - start;
        element.style.opacity = visible ? Math.min(progress / 100, 1) : Math.max(1 - progress / 100, 0);
        if ((visible && progress < 100) || (!visible && progress < 100)) {
            requestAnimationFrame(step);
        } else {
            element.style.display = visible ? 'block' : 'none';
        }
    }
    requestAnimationFrame(step);
}

// 使用示例
animateVisibility(document.getElementById('myDiv'), true); // 显示
animateVisibility(document.getElementById('myDiv'), false); // 隐藏

应用场景

  • 用户交互:如按钮点击切换显示状态。
  • 响应式设计:根据屏幕尺寸或设备类型调整元素的可见性。
  • 动态内容加载:在数据加载完成前隐藏元素,加载完成后显示。
  • 动画效果:结合CSS过渡或动画库实现平滑的显示和隐藏效果。

注意事项

  • 在使用 display 属性时,元素会完全从布局中移除或重新插入,可能会影响页面的重排和重绘。
  • 使用 visibilityopacity 属性时,元素仍然占据空间,只是不可见或透明。
  • 动画效果应考虑性能,避免频繁的重排和重绘。

以上方法各有优劣,选择合适的方法取决于具体的需求和场景。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 全选-复选框-控制表格的列的显示和隐藏

    背景 在做一些后台数据统计功能时,需要做一些展示层面上的过滤,结合复选框,显示和隐藏某一列或某一行 实例效果如下所示 实例代码如下所示 div>...,后端返回的值 isIndeterminate: false, // 设置 indeterminate 状态,只负责样式控制 tableData...return this.dot_info; }, }, beforeUpdate() { // 切换表头,让某些表头显示和隐藏...important; } 分析 全选/复选框的实现 结合全选和复选框,控制表格中的某一列显示和隐藏,怎么和表格中的列数据给关联起来 elementUI表格中某一行,显示三列或多列 可能会遇到的问题...切换时解决表格的抖动 beforeUpdate() { // 切换表头,让某些表头显示和隐藏。

    3.8K20
    领券