0

htmlを含むモーダルダイアログ(window.showModalDialog)があります。ダイアログのサイズを変更すると、ダイアログ内のHTMLが新しい境界を反映せず、新しい幅に100%拡張されないスクロールバーまたは要素が表示されます。

これを修正するには、少しドラッグしてから、正しいサイズに戻す必要があります。

プログラムで修正します。私は次のことをしますwindow.document.getElementById('removeMainBody').innerHTML =window.document.getElementById('removeMainBody').innerHTML;

ただし、これにより、html内の一部の動的オブジェクトが機能を停止します。

この問題を解決し、ダイアログのサイズを変更した後、ダイアログ内の要素のサイズを変更するにはどうすればよいですか?

これが私のコードです

 else if(<c:out value="${staffCount}" /> > 1){
            document.getElementById('removeDiv').style.display = '';
            window.dialogWidth='770px';
            window.dialogHeight='320px';
            window.document.getElementById('removeMainBody').innerHTML =window.document.getElementById('removeMainBody').innerHTML;
        }
4

1 に答える 1

1

Body-Tagからスタイルまたはクラスを設定すると、HTMLリフローが強制され、innerHTMLプロパティを設定せずにサイトが再び正しく表示されます。

example:

...
window.document.body.className = "relfow"; 
// if the body class Attribute was set, than set it now back
window.document.body.className = "oldBodyStyleClassName" ; / Or just to ""
...

ブラウザが最適化すると、refreshが呼び出されるため、リフローが発生します。

setTimeout(function(){
...
window.document.body.className = "relfow"; 
// if the body class Attribute was set, than set it now back
window.document.body.className = "oldBodyStyleClassName" ; / Or just to ""
...
})

これがお役に立てば幸いです。(ここで、リフローリンクの情報を見つけることができます)

于 2013-01-11T12:49:12.323 に答える