システムは現在理想的ではないため、パネルresize
の自動サイズ変更を処理するポート イベントを介してコンテンツとパネルを接続しています。仕組みは次のとおりです。
Panel または main.js コードで、resize
イベントをリッスンします。
Panel.port.on("resize", function (sizes) {
Panel.resize(sizes.width, sizes.height);
});
次に、コンテンツ パネルのコードで次のようなものを使用します (DOM の準備ができたら)。
$(window).bind('resize', function () {
self.port.emit("resize", { "width" : $("body").width(),
"height" : $("body").height() });
});
resize
これにより、コンテンツ ウィンドウのサイズが展開または折りたたみによって変更されるたびに、パネル ポート システムを介してイベントが送信されます。
(アップデート)
DOM からイベントを取得していない場合は$(window).resize()
、slideToggle 関数にさらに手動で何かを接続する必要があります。すべてのslideToggle呼び出しにコールバック関数を接続してみてください。次に例を示します。
function emitResize() {
self.port.emit("resize", { "width" : $("body").width(),
"height" : $("body").height() });
}
$('#yourid').slideToggle('fast', emitResize);
これにより、ページのサイズ変更が完了すると、すべての slideToggle アニメーションの後にサイズ変更イベントがトリガーされます。ドキュメントに静的な幅または高さを設定している場合は、含まれる div を使用するように$("body").width()
およびの呼び出しを変更することをお勧めします。$("body").height()