画面のサイズに基づいて2つの異なる機能を呼び出すことができます。ウィンドウの準備とウィンドウのサイズ変更で同じ機能を呼び出す
しかし、私は関数が呼び出されていないので、再びウィンドウのサイズ変更イベントを呼び出す必要があります。
$(window).bind('resize', function(e) {
window.resizeEvt;
$(window).resize(function() {
clearTimeout(window.resizeEvt);
window.resizeEvt = setTimeout(function() {
if ($(window).width() < 768) {
faq_mobile();
} else {
faq();
}
}, 250);
});
});
しかし、私は、ウィンドウのサイズを変更する際の機能のFAQとfaq_mobileが複数回呼び出されたので、これは正常に動作しません。だから私はこれを書きました。この場合の最適な解決策は何ですか?
現在のようにデバウンスすることは良いことです。 'if(window.resizeEvt){clearTimeout(window.resizeEvt);}'それを他の条件の中にラップすると、エラーがスローされます。コンソールログを確認してください。 – Jai
あなたのコードを別の関数に入れて、その関数をresizeイベントハンドラとreadyイベントハンドラの両方に設定してください! –