1
我有一個問題,我用我的位置的彈出<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設置了默認高度,然後一旦彈出窗口被顯示,我將其覆蓋爲自動。
現在的問題是,如果彈出窗口已關閉並重新打開,高度是自動的。有沒有辦法找到CSS高度:在樣式表不內聯的高度值:自動
更新的代碼 繼尼古拉回答這裏是固定碼:
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();