私の旅行では、css3 メディア クエリを介していくつかのレスポンシブ サイトに取り組んできました。これは、メディアクエリの変更のイベントでjavascriptをトリガーする必要がある場合に見つけて使用した修正されたソリューションです:
// define a query here
var theQuery = "(min-width: 960px)";
var mql = window.matchMedia( theQuery );
var TO = setTimeout( function(){}, 100);
var handleMediaChange = function (mediaQueryList) {
if (mediaQueryList.matches) {
// the media query evaluates to true
clearTimeout(TO);
window.state = 0;
TO = setTimeout( function(){
// javascript actions go here
}, 100 );
} else {
// @media query evaluates to false
clearTimeout(TO);
window.state = 0;
TO = setTimeout( function(){
// javascript actions go here
}, 100 );
}
}
mql.addListener(handleMediaChange);
handleMediaChange(mql);
本質的には、クエリを定義してからリスナーを追加して、クエリをトリガーする変更についてウィンドウ オブジェクトを監視することができます。それがトリガーされると、メディアクエリがtrueまたはfalseに評価されるように2セットのjavascriptをそれぞれ定義しましたが、このif条件を削除して、変更を加えてスクリプトを実行することができます...
これを試してみて、それが役立つことを願っています