モバイル デバイス (この例では 700px 未満) で機能を使用し、大型デバイスで別の機能を使用しようとしています。次の方法で matchMedia を使用します。
var mql = window.matchMedia("(min-width: 700px)");
mql.addListener(handleResize);
handleResize(mql);
function handleResize(mql) {
if (mql.matches) {
$(".button").on("click", function(){
$(".hidden").slideToggle();
})
} else {
$(".button").on("click", function(){
$(".hidden").fadeToggle();
})
}
}
最初は、コードは期待どおりに動作しますが、ウィンドウのサイズを変更すると問題が発生します。たとえば、ウィンドウが最初に 700px 未満で読み込まれ、次に 700px を超えるサイズに変更された場合、ボタンは最初にフェードを起動し、次にスライドし、その逆も同様です。コース外で達成したいのは、大きな画面ではスライドのみを呼び出し、小さな画面ではフェードのみを呼び出すことです。どんな助けでも大歓迎です。
乾杯!