Bearbeiten: Diese Bibliothek ist jetzt über Bower und NPM verfügbar. Siehe Github Repo für Details.
AKTUALISIERTE ANTWORT:
Haftungsausschluss: Ich bin der Autor.
Hier sind einige Dinge, die Sie mit der neuesten Version (Responsive Bootstrap Toolkit 2.5.0) tun können:
// 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);
Ab Version 2.3.0 benötigen Sie die vier <div>
unten genannten Elemente nicht mehr.
URSPRÜNGLICHE ANTWORT:
Ich glaube nicht, dass Sie dafür ein riesiges Skript oder eine Bibliothek brauchen. Es ist eine ziemlich einfache Aufgabe.
Fügen Sie kurz zuvor die folgenden Elemente ein </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>
Mit diesen 4 Divs können Sie nach dem aktuell aktiven Haltepunkt suchen. Verwenden Sie für eine einfache JS-Erkennung die folgende Funktion:
function isBreakpoint( alias ) {
return $('.device-' + alias).is(':visible');
}
Um nun eine bestimmte Aktion nur an dem kleinsten Haltepunkt auszuführen, den Sie verwenden können:
if( isBreakpoint('xs') ) {
$('.someClass').css('property', 'value');
}
Das Erkennen von Änderungen nach der DOM-Bereitschaft ist ebenfalls recht einfach. Alles, was Sie brauchen, ist ein leichtgewichtiger Listener zur Größenänderung von Fenstern wie dieser:
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();
Sobald Sie damit ausgestattet sind, können Sie auf Änderungen warten und Haltepunkt-spezifische Funktionen wie folgt ausführen:
$(window).resize(function () {
waitForFinalEvent(function(){
if( isBreakpoint('xs') ) {
$('.someClass').css('property', 'value');
}
}, 300, fullDateString.getTime())
});
<div class="d-none d-?-block"></div>
sich die Sichtbarkeit ändert (fügen Sie den gewünschten Haltepunkt ein). Diese CSS-Klassen sind für Bootstrap 4 ... verwenden Sie alles, was in Bootstrap 3 funktioniert. Viel leistungsfähiger als das Abhören von Ereignissen zur Größenänderung von Fenstern.