Können Sie .resize () an $ (Dokument) anstatt an $ (Fenster) binden?

8

Ich frage mich, ob $(document).resize() sinnvoll sein sollte oder nicht?

Das Problem ist, dass sich die Höhe des Dokuments ändert, wenn das Dokument größer wird (d. h. ein div wird aus irgendeinem Grund erweitert). Ich möchte mein Hintergrundbild so strecken, dass der dem Dokument hinzugefügte Bereich nicht leer ist. Was wäre der beste Weg, dies zu tun?

Gibt es eine Möglichkeit, benachrichtigt zu werden, wenn sich die Dokumentenhöhe geändert hat?

Um klar zu sein, ich möchte nicht, dass sich mein Bild wiederholt.

    
Roozbeh15 23.01.2012, 20:30
quelle

4 Antworten

7

Sie können dies mit CSS tun:

%Vor%

background-size ist wird von allen modernen Browsern unterstützt .

Die Eigenschaft cover bewirkt, dass das Bild so klein wie möglich ist, aber das Element immer noch vollständig bedeckt. Es behält Seitenverhältnis bei und wird bei Bedarf zuschneiden.

    
Ansel Santosa 23.01.2012, 20:34
quelle
2

Kurz gesagt, $(document).resize() erkennt Änderungen in der Dokumentgröße.

    
Mike Lentini 23.01.2012 20:37
quelle
1

Es gibt kein standardmäßiges document.resize -Ereignis, an dem Sie teilnehmen können.

Eine gängige Technik ist es, zu überprüfen, wann der DOM-Baum geändert wird, also wahrscheinlich die Dokumentenhöhe zu ändern und dann alles anzupassen, was Sie anpassen möchten: Erkennung der Änderung der Dokumentgröße in jquery . Sei gewarnt, dass es nicht gut ist, Performance-mäßig zu machen.

Firefox macht ein Ereignis Änderungen der Dokumentbreite und -höhe erkennen , aber nur seine FF.

>

Am besten verwenden Sie ein Titelbild, das sich verjüngt und die Endfarbe als Hintergrundfarbe für das Dokument verwendet. Es kann Ihnen diesen Effekt geben, wo es scheint, dass das Bild fortfährt, aber ohne das Bild zu verwenden. Ein gutes Beispiel hierfür ist twitter .

    
Mrchief 23.01.2012 21:10
quelle
0

Versuchen Sie DOMSubtreeModified -Ereignis:

%Vor%     
Artem Fitiskin 26.11.2013 16:16
quelle

Tags und Links