メディア クエリを使用して、特定のブラウザ幅でフロートを無効にしようとしています。この if ステートメントは、現在のサイズでページをリロードした場合にのみ機能します。CSSプロパティが変更されたときにjQueryに変更を適用させることは可能ですか?
if($('.two-column li').css('float') == 'left') {
$('.two-column li').equalHeights();
}
おそらく、2番目の $('.two-column li') で $(this) または何かを使用することになっていますが、なぜ機能しないのかわかりません。jQueryについてはよくわかりません。
編集:
デフォルトでは、2 列の li のスタイルは次のようになります。
.two-column li {
float: left;
}
そして、言ってみましょう...
@media only screen and (max-width: 767px) {
.two-column li {
float: none;
}
}
これは機能します。横幅が 767px 以下になると浮きなくなります。上記の醜いjqueryは部分的に機能しているようです。デフォルトでは equalheights プラグインが実行されますが、幅が 767px 未満の場合、プラグインは実行されません。私の問題は、それが実行されるかどうかは、ページが読み込まれたときのブラウザーのサイズに依存することです。レスポンシブ デザインのメディア クエリのように動的にしようとしています。
そして、ドキュメントの準備ができたときにそれを呼び出しました。
より多くの調査と以下のコメントの助けを借りて、現在、ドキュメントの準備ができていることを含め、このようになっています...ただし、サイズ変更ではまだ実行していません。更新が必要です。
$(document).ready(function () {
$('.two-column li').filter(function(index) {
return $(this).css('float') != 'none'
}).equalHeights();
});