模态框实现 js 原生写法
1.很多弹出框 排版较多都是使用事件点击机制
<!-- * @Author: Qingshan_Chen * @Date: 2022-04-11 13:12:46 * @Description: 项目描述 * @LastEditors: Qingshan_Chen * @LastEditTime: 2022-04-11 13:12:56 --> <!DOCTYPE> <html> <head> <style>/* 定义模态对话框外面的覆盖层样式 */ #modal-overlay { visibility: hidden; position: absolute; /* 使用绝对定位或固定定位 */ left: 0; top: 0; width:100%; height:100%; text-align:center; z-index: 1000; background-color: #333; opacity: 0.5; /* 背景半透明 */ } /* 模态框样式 */ .modal-data{ width:300px; margin: 100px auto; background-color: #fff; border:1px solid #000; padding:15px; text-align:center; } </style> </head> <body> <div id="modal-overlay" style="visibility: hidden;"> <div class="modal-data"> <p>一个很简单的模态对话框 </p> <p>点击<a onclick="overlay()" href="">这里</a>关闭</p> </div> </div> <a href="#" onclick="overlay()">显示模态对话框</a> <script>function overlay(){ //获取节点样式 visible三元三目运算 不占页面空间 来决定 是否显示 var e1 = document.getElementById('modal-overlay'); e1.style.visibility = (e1.style.visibility == "visible")? "hidden" : "visible"; }</script> </body> </html>
react 获取节点样式
函数hooks
const [show,setShow]=useState(true) //布尔值写法
<button onClick={ function () {
setShow(!show)}
}>{show > '隐藏' : '显示'}列表信息</button></h2>
</* 通过条件渲染来实现组件卸载与挂载 */>{ show && <List/>}</div>)}
<p>
<button onClick={() => {
this.setState({show: !this.state.show}) }}>展示或隐藏子组件</button></p>
//为true 就同时显示 组件
{
this.state.show
&&
<HookComp/>
}

浙公网安备 33010602011771号