Loading [MathJax]/jax/output/CommonHTML/config.js
精选内容/技术社群/优惠产品,尽在小程序
立即前往

js 显示开关

在JavaScript中实现显示开关的功能,通常涉及到HTML、CSS和JavaScript的结合使用。下面我会给出一个简单的示例,展示如何创建一个显示/隐藏内容的开关。

HTML部分

代码语言:txt
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <title>显示开关示例</title>
   <link rel="stylesheet" href="styles.css">
</head>
<body>
   <label class="switch">
       <input type="checkbox" id="toggleSwitch">
       <span class="slider round"></span>
   </label>
   <div id="content" style="display: none;">
       这是要显示或隐藏的内容。
   </div>
   <script src="script.js"></script>
</body>
</html>

CSS部分(styles.css)

代码语言:txt
复制
.switch {
    position: relative;
    display: inline-block;
    width: 60px;
    height: 34px;
}

/* 隐藏默认的checkbox */
.switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

/* 创建滑块 */
.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    -webkit-transition: .4s;
    transition: .4s;
}

.slider:before {
    position: absolute;
    content: "";
    height: 26px;
    width: 26px;
    left: 4px;
    bottom: 4px;
    background-color: white;
    -webkit-transition: .4s;
    transition: .4s;
}

input:checked + .slider {
    background-color: #2196F3;
}

input:focus + .slider {
    box-shadow: 0 0 1px #2196F3;
}

input:checked + .slider:before {
    -webkit-transform: translateX(26px);
    -ms-transform: translateX(26px);
    transform: translateX(26px);
}

/* Rounded sliders */
.slider.round {
    border-radius: 34px;
}

.slider.round:before {
    border-radius: 50%;
}

JavaScript部分(script.js)

代码语言:txt
复制
document.addEventListener('DOMContentLoaded', function() {
    const toggleSwitch = document.getElementById('toggleSwitch');
    const content = document.getElementById('content');

    toggleSwitch.addEventListener('change', function() {
        if (this.checked) {
            content.style.display = 'block';
        } else {
            content.style.display = 'none';
        }
    });
});

解释

  1. HTML部分:创建了一个包含checkbox的开关标签(<label>),以及一个要显示或隐藏的内容区域(<div id="content">)。
  2. CSS部分:定义了开关的样式,包括滑块的外观和过渡效果。
  3. JavaScript部分:添加了一个事件监听器,当开关状态改变时(通过checkbox的change事件),根据开关的状态(checkedunchecked)来显示或隐藏内容区域。

应用场景

这种显示开关的功能在网页设计中非常常见,比如:

  • 显示/隐藏密码输入框中的密码。
  • 切换主题颜色或暗黑模式。
  • 展开/折叠文章段落或导航菜单。
  • 控制地图或图表的显示与隐藏等。
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券