function myResizeFunction() {
...
}
$(function() {
$(window).resize(myResizeFunction).trigger('resize');
});
これにより、ウィンドウのサイズ変更時とドキュメントの準備完了時にサイズ変更ハンドラーがトリガーされます。もちろん、必要に応じて、ドキュメント準備ハンドラの外にサイズ変更ハンドラをアタッチできます.trigger('resize')
ページの読み込み時に実行する。
更新:他のサードパーティライブラリを利用したくない場合の別のオプションを次に示します。
この手法は特定のクラスをターゲット要素に追加するため、CSSのみを介してスタイル設定を制御できるという利点があります(インラインのスタイル設定を回避できます)。
また、実際のしきい値ポイントがトリガーされたときにのみクラスが追加または削除され、サイズ変更のたびにクラスが追加または削除されないようにします。1つのしきい値ポイントでのみ発火します。高さが<= 818から> 819に、またはその逆に変化し、各領域内で複数回変化しない場合です。幅の変更は関係ありません。
function myResizeFunction() {
var $window = $(this),
height = Math.ceil($window.height()),
previousHeight = $window.data('previousHeight');
if (height !== previousHeight) {
if (height < 819)
previousHeight >= 819 && $('.footer').removeClass('hgte819');
else if (!previousHeight || previousHeight < 819)
$('.footer').addClass('hgte819');
$window.data('previousHeight', height);
}
}
$(function() {
$(window).on('resize.optionalNamespace', myResizeFunction).triggerHandler('resize.optionalNamespace');
});
例として、CSSルールの一部として次のようにすることができます。
.footer {
bottom: auto;
left: auto;
position: static;
}
.footer.hgte819 {
bottom: 3px;
left: 0;
position: absolute;
}
$(window).resize(function(){...})