弹出窗口计算高度
Popup window working out the height
我有一个问题,我的位置弹出<div>
在窗口的中心使用:
var popup = $("#popup"), popupWidth = popup.css("width").replace("px",""), popupHeight = popup.css("height").replace("px","");
var xPosition = ($(window).width() - popupWidth) / 2;
var yPosition = (($(window).height() - popupHeight) / 2) + $(window).scrollTop();
if (yPosition <= 0){
yPosition = '0';
} else if(yPosition <= $(window).scrollTop()){
yPosition = $(window).scrollTop();
} else {
yPosition = yPosition - 68; //minus top shaddow height
}
if (xPosition >= $('body').offset().left) {
xPosition = xPosition;
} else {
xPosition = '0';
}
$(popup).css({
'top': yPosition + 'px',
'left': xPosition + 'px',
'display' : 'block',
'height' : 'auto'
}).addClass("popup-open");
我遇到的问题是,在第一次加载时,弹出框的高度被返回为0,因为它是隐藏的,直到上面的位置已经计算出来。为了解决这个问题,我通过CSS设置了默认高度,然后一旦弹出窗口显示,我将其覆盖为auto。
现在的问题是,如果弹出窗口已经关闭并重新打开高度是自动的。有没有办法在样式表中找到CSS height:value而不是inline height:auto
<<p> 更新代码/strong>以下是Nicola的回答,这里是固定代码:var popup = $("#popup"), popupWidth = popup.css("width").replace("px",""), popupHeight = popup.css("height").replace("px","");
// Save/Get original height
if(popupHeight == "auto"){
popupHeight = popup.data('origHeight');
} else {
popup.data('origHeight', popupHeight);
}
var xPosition = ($(window).width() - popupWidth) / 2;
var yPosition = (($(window).height() - popupHeight) / 2) + $(window).scrollTop();
为什么不将原始值保存在变量中呢?
var popup = $("#popup"), popupWidth = popup.css("width").replace("px",""), popupHeight = popup.css("height").replace("px","");
var originalHeight = popupHeight;
var originalWidth = popupWidth;
当您重新打开弹出窗口时,您使用原始值而不是实际值
或者您可以使用use data()来存储和检索它
$('#popup').data('origHeight', popupHeight);
//the use $('#popup').data('origHeight') to retrieve it
相关文章:
- 如何计算每个元素's的高度,并将这些值用作函数中的变量
- 使用jquery计算包含另一个带边距元素的元素的高度
- 如何计算缩放后画布的新高度和宽度
- 获取计算高度-Javascript-而不是jQuery
- Chrome和Firefox之间的高度计算不同
- 无法从 AngularJS 中的元素计算偏移高度
- 展开预览(计算高度:函数)
- 谷歌浏览器错误地计算了元素的高度
- Div 不会自动计算高度
- 如何使用 jquery 计算选项卡的高度以向下推页脚
- 如何使用 jQuery 计算和设置元素的高度
- 调整窗口大小时重新计算表高度
- 如果我在服务器上预渲染 D3JS 图表,将如何计算它们的宽度/高度
- 根据内容不一致的高度计算调整 iFrame 大小
- 新偏移量更新字体大小后不计算高度
- 如果我希望旋转后所有圆柱体的高度都是固定值,我将如何计算原始高度
- 如何动态计算 iframe 的高度
- 如何在javascript中计算下降高度
- 皮卡布——高度计算错误
- React-Virtualized Autosizer 将 VirtualScroll 的高度计算为 0