gpt4 book ai didi

jquery - bPopup 在一页中打开时居中对齐,在另一页中打开时左对齐

转载 作者:行者123 更新时间:2023-12-01 02:56:57 25 4
gpt4 key购买 nike

我正在使用 bPopup 插件在两个单独的页面上打开 iframe

我编写了一个小脚本,用于创建 iframe 并“弹出它”。我的两个页面都引用了相同的脚本(确切的 URL 等):

jQuery('#student_iframe_container').css({
'display': 'none'
});

jQuery('body').on("click", ".student_iframe_popup", function() {
jQuery('#student_iframe_container').remove();

var popUpHTML = '<div id="student_iframe_container"><div class="b-close"><img src="/user/74/187888.png" title="Close" /></div><iframe></iframe></div>';
jQuery('body').append(popUpHTML);

jQuery('.b-close').css({
'background-color': 'none',
'padding': '8px',
'font-size': '14px',
'font-weight': 'bold',
'width': '52px',
'text-align': 'center',
'cursor': 'pointer',
'overflow' : 'auto'
});

jQuery('iframe').css({
'margin': '0px auto',
'background-color': 'none',
'border': 'none'
});

var student_id = 'student_' + jQuery(this).attr("id");

jQuery('iframe').attr("width", 800);
jQuery('iframe').attr("height", 670);
jQuery('iframe').attr("id", student_id);
jQuery('iframe').attr("src", '/index.phtml?d=825090');

jQuery('#student_iframe_container').bPopup({
position: ['auto', 2]
});
});

这个脚本的想法是,我可以将 <a href="javascript:void(0);" class="student_iframe_popup" id="123456">student</a> 敲入我的页面,脚本将完成剩下的工作。

在我的两个页面上,弹出的 iframe 都可以正常工作。问题在于对齐:在一页上,iframe 正确地显示为水平居中对齐,但在另一页上,它显示为左对齐。

分配标志页面上正确对齐 Correct alignment

我的标志页面上的对齐方式不正确 Incorrect alignment

如果我查看 FireBug 中的 HTML,它相当困惑:

分配标志:

<div class="b-modal __b-popup1__" style="background-color: rgb(0, 0, 0); position: fixed; top: 0px; right: 0px; bottom: 0px; left: 0px; opacity: 0.7; z-index: 9998; cursor: pointer;"></div>
<div id="student_iframe_container" style="left: 48.5px; position: absolute; top: 2px; z-index: 9999; opacity: 1; display: block;">
<div class="b-close" style="padding: 8px; font-size: 14px; font-weight: bold; width: 52px; text-align: center; cursor: pointer; overflow: auto;">
<img title="Close" src="/user/74/187888.png">
</div>
<iframe width="800" height="670" style="margin: 0px auto; border: medium none;" id="student_138871" src="/index.phtml?d=825090"></iframe>
</div>

这段 HTML 中使用了 student_iframe_popup 类:

<li>
<a id="138929" class="student_iframe_popup" href="javascript:void(0);">Student Name</a>
<div>23<img alt="Red Flags" src="/user/74/187894.png">&nbsp;0<img alt="Interventions" src="/user/74/187895.png"></div>
</li>

我的旗帜:

<div class="b-modal __b-popup1__" style="background-color: rgb(0, 0, 0); position: fixed; top: 0px; right: 0px; bottom: 0px; left: 0px; opacity: 0.7; z-index: 9998; cursor: pointer;"></div>
<div id="student_iframe_container" style="left: 0px; position: absolute; top: 2px; z-index: 9999; opacity: 1;">
<div class="b-close" style="padding: 8px; font-size: 14px; font-weight: bold; width: 52px; text-align: center; cursor: pointer; overflow: auto;">
<img title="Close" src="/user/74/187888.png">
</div>
<iframe width="800" height="670" style="margin: 0px auto; border: medium none;" id="student_138978" src="/index.phtml?d=825090"></iframe>
</div>

这段 HTML 中使用了 student_iframe_popup 类:

<tr class="open">
<td class="student">
<a id="138978" class="student_iframe_popup" href="javascript:void(0);">Student Name</a>
</td>
<td>2nd Oct 2013</td>
<td>10:24am</td>
<td>IT Misuse</td>
<td>Behaviour Unit</td>
<td>Registration</td>
<td>Referred to tutor</td>
<td id="1994"><select><option value="O">Pending</option><option value="C">Completed</option></select></td>
<td rowspan="2" class="centre"><img title="Notify administrator of mistake made on Flag given to Joshua Nichol?" src="/user/74/187888.png" id="1994"></td>
</tr>

相关CSS:

#container table { width: 100%; }
#container table img { width: 16px; }
#container th { text-align: left; border-bottom: 2px solid #999; padding-bottom: 2px; text-transform: uppercase; font-weight: normal; font-size: 10px; }
#container tr.open { background-color: #ffd6d6; }
#container tr.no_action { background-color: #ffead6; }
#container td { padding: 8px 0 4px 0; font-size: 12px; }
#container tr.border td { border-bottom: 1px solid #999; padding: 4px 0 8px 0; font-size: 11px; }
.student { font-weight: bold; padding-left: 5px; }

显然,差异在于这些行:

对...

<div id="student_iframe_container" style="left: 48.5px; position: absolute; top: 2px; z-index: 9999; opacity: 1; display: block;">

错误...

<div id="student_iframe_container" style="left: 0px; position: absolute; top: 2px; z-index: 9999; opacity: 1;">

但是,编写这些样式的不是我 - 是 bPopup。我的两个页面都没有任何与 bPopup 相关的 CSS 样式;我唯一要更改的是本文顶部 JavaScript 文件中的内容。

有谁知道为什么 bPopup 决定在一个页面上 left:0px 而在另一页上 left:48.5px 吗?

最佳答案

尝试在 JavaScript 中为 div 添加宽度:

var popUpHTML = '<div id="student_iframe_container" style="width:800px"><div class="b-close"><img src="/user/74/187888.png" title="Close" /></div><iframe></iframe></div>';

(当然,您可以为该 div 使用一个类。在 div 中使用样式只是一个快速测试。)

在bPopup中获取水平位置的代码是

hPos = fixedHPos ? o.position[0] : (wW - $popup.outerWidth(true)) / 2

您的 wW(窗口宽度)大约等于弹出窗口的宽度。如果你在div中设置弹出宽度,我想它会解决这个问题。

关于jquery - bPopup 在一页中打开时居中对齐,在另一页中打开时左对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19134220/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com