window.parent.top中在父页面居中弹出提示框
时间: 2023-05-31 14:04:40 浏览: 73
您可以使用以下代码在父页面中居中弹出提示框:
```
var message = "这是一个提示框";
var left = (window.parent.innerWidth - 200) / 2; // 假设提示框宽度为200px
var top = (window.parent.innerHeight - 100) / 2; // 假设提示框高度为100px
window.parent.top.postMessage(message, "*"); // 发送消息到父页面
window.parent.document.getElementById('myPopup').style.left = left + "px"; // 设置提示框左边距
window.parent.document.getElementById('myPopup').style.top = top + "px"; // 设置提示框上边距
window.parent.document.getElementById('myPopup').style.display = "block"; // 显示提示框
```
这里假设父页面中有一个id为"myPopup"的提示框元素,你需要在父页面中预先定义这个元素,并设置它的样式为固定定位,以便实现居中效果。同时,你需要在父页面中监听message事件,以便接收子页面发送的消息,从而触发弹出提示框的操作。
相关问题
在子页面中判断让父页面居中弹出一个提示框
在子页面中,可以通过以下步骤来判断让父页面居中弹出一个提示框:
1. 获取当前页面的父页面对象,可以使用以下代码:
```
var parentWindow = window.parent;
```
2. 判断父页面是否存在,如果存在则继续下一步,否则退出。
```
if (parentWindow != null) {
// continue
} else {
return;
}
```
3. 在父页面中定义一个居中弹出提示框的函数,例如:
```
function showPopup() {
// code to show popup
}
```
4. 在子页面中调用父页面的 showPopup() 函数,例如:
```
parentWindow.showPopup();
```
这样就可以在子页面中判断让父页面居中弹出一个提示框了。
子页面让父页面居中弹出个提示框
可以使用下面的代码实现:
在父页面中添加一个按钮,点击按钮时弹出子页面:
```html
<button onclick="openPopup()">打开提示框</button>
```
在父页面中添加一个隐藏的 `div` 元素,用于显示子页面:
```html
<div id="popup" style="display: none;"></div>
```
在父页面中添加以下 JavaScript 代码:
```javascript
function openPopup() {
var popup = document.getElementById("popup");
popup.style.display = "block";
// 计算子页面的位置,使其居中显示
var x = (window.innerWidth - popup.offsetWidth) / 2;
var y = (window.innerHeight - popup.offsetHeight) / 2;
popup.style.left = x + "px";
popup.style.top = y + "px";
// 在子页面中显示提示框
popup.innerHTML = `
<div style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); background-color: white; padding: 20px;">
<h2>提示框</h2>
<p>这是一个提示框。</p>
<button onclick="closePopup()">关闭</button>
</div>
`;
}
function closePopup() {
var popup = document.getElementById("popup");
popup.style.display = "none";
}
```
这段代码定义了 `openPopup` 和 `closePopup` 函数,用于打开和关闭提示框。在 `openPopup` 函数中,首先获取隐藏的 `div` 元素(即子页面),然后计算子页面的位置,使其居中显示。最后,在子页面中显示一个包含标题、内容和关闭按钮的提示框。在 `closePopup` 函数中,隐藏子页面。