その中にasp.netグリッドビューがあるdivのスタイルを設定しようとしています。私はJavaScriptコードを使用しています。div は、asp.net ボタンクリック イベントのポップアップです。
私は以下のコードを持っています:
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 になります。つまり、サイズは以前のボタン クリック イベントから引き継がれます。ポップアップがグリッドビューに完全に適合することを確認する方法はありますか?