jquery - How to add an event listener when an element is transformed? -


i'm developing responsive website using bootstrap 3 many features, 1 of them when website displayed on mobile drop down menu displayed ( on desktop have normal menu , on mobile version transform collapsing drop down menu) problem need event listener able listen when normal menu transformed collapsing drop down menu, there way that? many thanks.

html code:

<div class="container-sm visible-sm visible-xs container visible-md visible-lg">     <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">         <span class="sr-only">left menu</span>         <span class="icon-bar"></span>         <span class="icon-bar"></span>         <span class="icon-bar"></span>     </button>     <div class="navbar-collapse collapse">         <div id="sidenavbox" class="ms-dialoghidden ms-forcewrap ms-nolist">             <!-- lot of code included in dropdown menu -->         </div>     </div> </div> 

css:

@media (min-width: 768px) {   .navbar-toggle {     display: none;   }  .navbar-toggle {   position: relative;   padding: 9px 10px;   margin-top: 8px;   margin-bottom: 8px;   background-color: rgb(241, 241, 241);   background-image: none;   border: 1px solid rgb(241, 241, 241);   border-radius: 4px;   width: 695px; } 

so how can add event listener detect when menu transformed collapsing drop down menu?

you can use window.matchmedia create such event, see minimal code example here:

var mql = window.matchmedia('only screen , (min-width: 768px)'),     handlemql = function(mql) {         if (mql.matches) {             console.log('match');             // media query match             // fire on event here           } else {             console.log('unmatch');             // media query not match anymore             // fire off event here          }     };   mql.addlistener(handlemql); // optional (in case need state on page load) // see info below. handlemql(mql); 

the listener fires when there change in target media query's state. if need media query's state on page load, create function handle state change , can call function on own, example above.

in case you'll need older browser support, use polyfill matchmedia.js


Comments

Popular posts from this blog

Java 3D LWJGL collision -

spring - SubProtocolWebSocketHandler - No handlers -

methods - python can't use function in submodule -