我正在尝试设置其中包含 asp.net gridview 的 div 的样式。我正在使用 javascript 代码。div 是asp.net buttonclick 事件的弹出窗口。
我有以下代码:
function ViewPopup() {
document.getElementById('PopupDiv').style.visibility = 'visible';
document.getElementById('PopupDiv').style.display = '';
var screenHeight = document.documentElement.clientHeight;
var elementHeight = document.getElementById('PopupDiv').clientHeight;
if (screenHeight > elementHeight) {
document.getElementById('PopupDiv').style.top = ((screenHeight - elementHeight) / 2) + 50 +'px';
}
else {
document.getElementById('PopupDiv').style.top = '10px';
document.getElementById('PopupDiv').style.bottom = '20px';
document.getElementById('PopupDiv').style.overflow = 'scroll';
}
var scrWidth = document.documentElement.clientWidth;
var elWidth = document.getElementById('PopupDiv').clientWidth;
document.getElementById('PopupDiv').style.left = ((scrWidth - elWidth) / 2) - 20 + 'px';
document.getElementById('MaskedDiv').style.display = '';
document.getElementById('MaskedDiv').style.visibility = 'visible';
}
问题是 .. 当 screenheight < elementheight 时,控件转到 else 语句并显示带有滚动条的弹出窗口。想象一下弹出窗口的尺寸是 x 和 y。
下次当有一个按钮点击时,如果 screenheight > elementheight,控制转到 if 语句,但弹出尺寸再次是 x 和 y。也就是说,尺寸是从较早的按钮单击事件中携带的。有什么办法可以确保弹出窗口完全适合 gridview 吗?