top.document.getElementById在模态窗口中的使用

普通页面中top.document.getElementById是对最上层窗口的引用~

 

但模态窗口中使用想要获取最上层窗口的引用就需要改写为:window.dialogArguments.top.document.getElementById~

以下是一个简单的模态窗口并传递参数的实现代码,以构造函数传递参数为例: HTML代码: ```html <button id="open-modal">打开模态窗口</button> <!-- 模态窗口 --> <div id="modal" class="modal"> <div class="modal-content"> <span class="close">×</span> <p>模态窗口内容</p> </div> </div> ``` CSS代码: ```css /* 模态窗口样式 */ .modal { display: none; position: fixed; z-index: 1; left: 0; top: 0; width: 100%; height: 100%; overflow: auto; background-color: rgba(0,0,0,0.4); } /* 模态窗口内容样式 */ .modal-content { background-color: #fefefe; margin: 15% auto; padding: 20px; border: 1px solid #888; width: 80%; } /* 关闭按钮样式 */ .close { color: #aaa; float: right; font-size: 28px; font-weight: bold; } .close:hover, .close:focus { color: black; text-decoration: none; cursor: pointer; } ``` JavaScript代码: ```javascript // 获取模态窗口元素和打开按钮元素 const modal = document.getElementById('modal'); const modalBtn = document.getElementById('open-modal'); // 定义模态窗口类 class Modal { constructor(param) { this.param = param; // 获取模态窗口内容元素和关闭按钮元素 this.modalContent = document.querySelector('.modal-content'); this.closeBtn = document.querySelector('.close'); // 设置模态窗口内容 this.modalContent.innerHTML = `<p>${this.param.message}</p>`; // 绑定关闭按钮事件 this.closeBtn.addEventListener('click', () => { this.close(); }); // 显示模态窗口 modal.style.display = 'block'; } // 关闭模态窗口 close() { modal.style.display = 'none'; } } // 绑定打开按钮事件 modalBtn.addEventListener('click', () => { // 创建模态窗口实例并传递参数 const modalInstance = new Modal({message: '这是一个模态窗口'}); }); ``` 在上面的示例,我们通过 JavaScript 代码来实现模态窗口,并在创建模态窗口实例时将参数 `{message: '这是一个模态窗口'}` 传递给它。当用户点击打开按钮时,模态窗口会显示出来,并显示传递的参数。 需要注意的是,我们在模态窗口类的构造函数获取了模态窗口内容元素和关闭按钮元素,并在模态窗口关闭时移除了相关事件监听器。此外,我们还可以使用其他方式来传递参数和实现模态窗口,具体实现方式可以根据实际需求而定。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值