window.matchMedia仅用于窗口刷新

时间:2016-03-21 18:44:11

标签: css media matchmedia

window.matchMedia正在运行,但我认为它会像使用@media only screen和'适用于屏幕缩小时的情况。使用window.matchMedia,例如,如果您在桌面浏览器上,则必须加载或刷新屏幕。有没有办法让window.matchMedia像@media CSS一样工作,当你增加或减少屏幕宽度而不需要刷新或重新加载屏幕时它会自动发生?

以下示例用于:Americastributetoparis.com

jQuery(document).ready(function($) {

if (window.matchMedia("(max-width: 800px)").matches) {
    // phone
    $(".front-page-1").backstretch(["/wp-content/themes/digital-pro/images/americas-tribute-to-paris-mobile.png"]);

} else {

    //tab or desktop
    $(".front-page-1").backstretch([BackStretchImg.src]);

}

});

1 个答案:

答案 0 :(得分:1)

发现这是在搜索引擎上研究我的问题并应用它: media query not just on run time, but also when any changes to the window state occur

jQuery(document).ready(function($) {

var mql = window.matchMedia("(max-width: 800px)")

mediaqueryresponse(mql) // call listener function explicitly at run time

mql.addListener(mediaqueryresponse) // attach listener function to listen in on state changes

function mediaqueryresponse(mql){
     if (mql.matches){ // if media query matches

      // phone
        $(".front-page-1").backstretch(["/wp-content/themes/digital-pro/images/americas-tribute-to-paris-mobile.png"]);

    } else {

      //tab or desktop
        $(".front-page-1").backstretch([BackStretchImg.src]);

     }
}

});