Twitter Bootstrap - how to detect when media queries starts

后端 未结 16 759
抹茶落季
抹茶落季 2020-12-14 02:19

which is the fastest and easy way to fire when bootstrap-responsive.css media queries go in action?

go in action = when you resize window to mobile width and site is

16条回答
  •  -上瘾入骨i
    2020-12-14 02:57

    I came up with an approach that uses window resize event, but relying on Twitter Bootstrap's media queries without hard coding their breakpoints:

    
        
        
        
        
    
    

    #mq-detector {
        visibility: hidden;
    }
    

    var currMqIdx = undefined;
    var mqDetector = $("#mq-detector");
    var mqSelectors = [
        mqDetector.find(".visible-xs"),
        mqDetector.find(".visible-sm"),
        mqDetector.find(".visible-md"),
        mqDetector.find(".visible-lg")
    ];
    
    var checkForResize = function() {
        for (var i = 0; i <= mqSelectors.length; i++) {
            if (mqSelectors[i].is(":visible")) {
                if (currMqIdx != i) {
                    currMqIdx = i;
                    console.log(mqSelectors[i].attr("class"));
                }
                break;
            }
        }
    };
    
    $(window).on('resize', checkForResize);
    
    checkForResize();
    

提交回复
热议问题