Modifica: questa libreria è ora disponibile tramite Bower e NPM. Vedi repo github per i dettagli.
RISPOSTA AGGIORNATA:
Disclaimer: sono l'autore.
Ecco alcune cose che puoi fare usando l'ultima versione (Responsive Bootstrap Toolkit 2.5.0):
// Wrap everything in an IIFE
(function($, viewport){
// Executes only in XS breakpoint
if( viewport.is('xs') ) {
// ...
}
// Executes in SM, MD and LG breakpoints
if( viewport.is('>=sm') ) {
// ...
}
// Executes in XS and SM breakpoints
if( viewport.is('<md') ) {
// ...
}
// Execute only after document has fully loaded
$(document).ready(function() {
if( viewport.is('xs') ) {
// ...
}
});
// Execute code each time window size changes
$(window).resize(
viewport.changed(function() {
if( viewport.is('xs') ) {
// ...
}
})
);
})(jQuery, ResponsiveBootstrapToolkit);
A partire dalla versione 2.3.0, non sono necessari i quattro <div>
elementi indicati di seguito.
RISPOSTA ORIGINALE:
Non credo che tu abbia bisogno di grandi sceneggiature o librerie per questo. È un compito abbastanza semplice.
Inserisci i seguenti elementi appena prima </body>
:
<div class="device-xs visible-xs"></div>
<div class="device-sm visible-sm"></div>
<div class="device-md visible-md"></div>
<div class="device-lg visible-lg"></div>
Queste 4 div consentono di verificare il punto di interruzione attualmente attivo. Per un facile rilevamento JS, utilizzare la seguente funzione:
function isBreakpoint( alias ) {
return $('.device-' + alias).is(':visible');
}
Ora per eseguire una determinata azione solo sul punto di interruzione più piccolo è possibile utilizzare:
if( isBreakpoint('xs') ) {
$('.someClass').css('property', 'value');
}
Anche il rilevamento delle modifiche dopo il DOM pronto è abbastanza semplice. Tutto ciò che serve è un ascoltatore di ridimensionamento della finestra leggero come questo:
var waitForFinalEvent = function () {
var b = {};
return function (c, d, a) {
a || (a = "I am a banana!");
b[a] && clearTimeout(b[a]);
b[a] = setTimeout(c, d)
}
}();
var fullDateString = new Date();
Una volta che ne sei equipaggiato, puoi iniziare ad ascoltare le modifiche ed eseguire funzioni specifiche del breakpoint in questo modo:
$(window).resize(function () {
waitForFinalEvent(function(){
if( isBreakpoint('xs') ) {
$('.someClass').css('property', 'value');
}
}, 300, fullDateString.getTime())
});
<div class="d-none d-?-block"></div>
cambia la visibilità (inserire il punto di interruzione desiderato). Queste classi CSS sono per Bootstrap 4 ... usano tutto ciò che funziona in Bootstrap 3. Molto più performante dell'ascolto dell'evento di ridimensionamento della finestra.