Dieser Artikel zeigt, wie Sie JQuery verwenden, um das Browser -Fenster zu verarbeiten, die Ereignisse der Größenänderung, verschiedene Techniken anbieten und häufige Fragen behandeln.
Grundleger die Größe der Größe der Größenänderung:
Die einfachste Methode verwendet Jquerys resize
Ereignis:
$(window).resize(function(e) { let width = $(this).width(); let height = $(this).height(); console.log('Window resized to: ' + width + ' by ' + height); });
Dies protokolliert die neuen Fensterabmessungen an der Konsole an jeder Größe.
Seite Aktualisieren Sie die Größe (Hacky -Lösung):
Für Situationen, in denen eine Seite aktualisiert werden muss, um die Größe zu ändern (im Allgemeinen nicht empfohlen), kann ein zeitübergreifender Ansatz zur breiteren Kompatibilität verwendet werden (IE8):
setTimeout(function() { $(window).resize(function(e) { clearTimeout(window.RT); window.RT = setTimeout(function() { location.reload(false); // false uses cache }, 300); }); }, 1000);
Dies führt zu einer Verzögerung, um rekursive Anrufe während der Größenänderung zu verhindern.
Repositionierung von Elementen in der Größe:
Dieses Beispiel zeigt die Neupositionierung einer Navigationsleiste:
(function($, W) { function repositionNav() { let newTop = W.innerHeight - 300; newTop = Math.min(newTop, 550); // Max top position $('#navbar').css('top', newTop); } repositionNav(); $(W).resize(function(e) { clearTimeout(W.RT); W.RT = setTimeout(repositionNav, 300); }); })(jQuery, window);
Die Navigationsleiste (#navbar
) wird mit einer leichten Verzögerung neu positioniert.
Ereignis für die Leistung für die Leistung für die Performance befreit:
Für eine reibungslosere Leistung, insbesondere bei der häufigsten Größe, ist ein beunruhigter Ansatz überlegen:
(function($, sr) { let debounce = function(func, threshold, execAsap) { let timeout; return function() { let obj = this, args = arguments; function delayed() { if (!execAsap) func.apply(obj, args); timeout = null; } clearTimeout(timeout); timeout = setTimeout(delayed, threshold || 100); }; }; jQuery.fn[sr] = function(fn) { return fn ? this.bind('resize', debounce(fn)) : this.trigger(sr); }; })(jQuery, 'smartresize'); $(window).smartresize(function() { // Your efficient resize code here });
Hier
häufig gestellte Fragen:
Der Originaltext enthält auch einen FAQ -Abschnitt, der Themen abdeckt wie:
.resize()
.on('resize')
Das obige ist der detaillierte Inhalt vonJQuery Capture Fenster -Größen -Snippets. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!