8 Stimmen

jQuery-Funktion zur Größenänderung funktioniert nicht beim Laden der Seite

Wie bringe ich diese Funktion dazu, nicht nur bei der Größenänderung des Fensters, sondern auch beim ersten Laden der Seite ausgeführt zu werden?

$(window).resize(function() {
...  
});

18voto

Kristopher Punkte 1548

Das sollten Sie verwenden:

$(document).ready(function() { /* your code */ });

Etwas unter Last geschehen lassen. Wenn Sie etwas zu arbeiten onload und onresize wollen, sollten Sie tun:

onResize = function() { /* your code */ }

$(document).ready(onResize);

$(window).bind('resize', onResize);

8voto

Hativ Punkte 1402

Ich denke, die beste Lösung ist, es einfach an das Load- und Resize-Ereignis zu binden:

$(window).on('load resize', function () {
    // your code
});

1voto

SLaks Punkte 832502

Dieses Verhalten ist gewollt.

Sie sollten Ihren Code in eine benannte Funktion einfügen und diese Funktion dann aufrufen.

Zum Beispiel:

function onResize() { ... }

$(onResize);
$(window).resize(onresize);

Alternativ können Sie auch ein Plugin erstellen, das automatisch einen Handler bindet und ausführt:

$.fn.bindAndExec = function(eventNames, handler) {
    this.bind(eventNames, handler).each(handler);
};

$(window).bindAndExec('resize', function() { ... });

Beachten Sie, dass es nicht korrekt funktionieren wird, wenn der Handler die event Objekts, und dass es nicht jede Überladung des bind Methode.

1voto

JGSilva Punkte 120
$(document).ready(onResize);
$(window).bind('resize', onResize);

hat bei mir nicht funktioniert.

Versuchen Sie

$(window).load('resize', onResize);
$(window).bind('resize', onResize);

stattdessen.

(Ich weiß, diese Frage ist alt, aber Google hat mich hierher geschickt, also...)

0voto

Andy Corman Punkte 621

Sie können auch einfach einen Handler einrichten und selbst ein Größenänderungsereignis vortäuschen:

// Bind resize event handler through some form or fashion
$(window).resize(function(){
  alert('Resized!');
});

// Trigger/spoof a 'resize' event manually
$(window).trigger('resize');

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X