如何定位灯箱/div 弹出窗口,使其位于 iframe 中视口的中心

发布于 2024-10-16 06:42:49 字数 76 浏览 3 评论 0原文

如何定位灯箱/div 弹出窗口,使其位于 iframe 中视口的中心。

iframe 嵌入到来自不同域的 HTML 中。

How do i position a lightbox/div popup so that it comes in the center of the viewport in an iframe.

The iframe is embedded into a HTML from a different domain.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

难以启齿的温柔 2024-10-23 06:42:49

以下所有更改均涉及 iframe 中加载的页面。

首先,将 div 添加到文档正文的底部。

var body = $('body')[0];
$(body).append("<div id='modal' style='position:absolute;display:none;'></div>");

然后,当您想要使用模态时,运行以下代码(在函数内):

// to position it, do the following
var body = $('body')[0];

// get the position and size info on the iframe
var height = $(body).height();
var width = $(body).width();

// get the size information on the modal div
var divHeight = $('#modal').height();
var divWidth = $('#modal').width();

// put it together to get the proper position
var top = (height/2)-(divHeight/2);
var left = (width/2)-(divWidth/2);

// set it and we're done, hiya!
$('#modal').css('top', top);
$('#modal').css('left', left);

// show the div
$('#modal').css('display', 'block');

注意两件事

  1. 您应该将模态 div 添加到 body 元素以使生活更轻松
  2. 模态应该具有以下位置:绝对 - 在示例中我将其内嵌

试一试:)

All changes below are referring to the page being loaded in the iframe.

First, add the div to the bottom of the body of your document.

var body = $('body')[0];
$(body).append("<div id='modal' style='position:absolute;display:none;'></div>");

Then when you want to use the modal, run the following code (within a function):

// to position it, do the following
var body = $('body')[0];

// get the position and size info on the iframe
var height = $(body).height();
var width = $(body).width();

// get the size information on the modal div
var divHeight = $('#modal').height();
var divWidth = $('#modal').width();

// put it together to get the proper position
var top = (height/2)-(divHeight/2);
var left = (width/2)-(divWidth/2);

// set it and we're done, hiya!
$('#modal').css('top', top);
$('#modal').css('left', left);

// show the div
$('#modal').css('display', 'block');

Note two things

  1. You should add the modal div to the body element to make life easier
  2. The modal should have a position of absolute - in the example I put it inline

Give that a shot :)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文