Heim >Web-Frontend >CSS-Tutorial >Wie kann ich mit jQuery die Größe des Hintergrundbilds eines Div ermitteln?

Wie kann ich mit jQuery die Größe des Hintergrundbilds eines Div ermitteln?

Barbara Streisand
Barbara StreisandOriginal
2024-12-13 01:21:14751Durchsuche

How Can I Get the Size of a Div's Background Image Using jQuery?

Ermitteln der Div-Hintergrundbildgröße mit jQuery

In der Webentwicklung das Ermitteln der Größe eines Bildes, das als Hintergrund für ein bestimmtes div-Element verwendet wird kann aus verschiedenen Gründen von Vorteil sein. Ganz gleich, ob es sich um ein responsives Layout oder die Erstellung dynamischer Inhalte auf Basis von Bildabmessungen handelt, jQuery bietet einen vielseitigen Ansatz zum Abrufen dieser Informationen.

jQuerys Ansatz zum Abrufen der Bildgröße

jQuery, Eine beliebte JavaScript-Bibliothek bietet eine Methode zum Abrufen von Hintergrundbildeigenschaften, einschließlich der Größe. Allerdings kann es schwierig sein, die Größe direkt aus der CSS-Eigenschaft „Hintergrundbild“ zu extrahieren. Stattdessen ermöglicht uns die Fähigkeit von jQuery, Bilder zu laden und zu bearbeiten, die gewünschten Informationen zu erhalten.

Größe über jQuery Deferred Object abrufen

Eine effektive Methode besteht darin, das Deferred Object von jQuery zu verwenden Behandelt das Laden von Bildern und das Abrufen der Größe. Dieser Ansatz gewährleistet eine asynchrone Ausführung, sodass der Code fortfahren kann, während das Bild geladen wird. Hier ist die Implementierung:

var getBackgroundImageSize = function(el) {
    var imageUrl = $(el).css('background-image').match(/^url\(["']?(.+?)["']?\)$/);
    var dfd = new $.Deferred();

    if (imageUrl) {
        var image = new Image();
        image.onload = dfd.resolve;
        image.onerror = dfd.reject;
        image.src = imageUrl[1];
    } else {
        dfd.reject();
    }

    return dfd.then(function() {
        return { width: this.width, height: this.height };
    });
};

// Usage
getBackgroundImageSize(jQuery('#mydiv'))
    .then(function(size) {
        console.log('Image size is', size.width, size.height);
    })
    .fail(function() {
        console.log('Could not get size because could not load image');
    });

Dieser Code lädt das Bild, ruft bei erfolgreichem Laden seine Abmessungen ab und verpackt den Prozess in ein verzögertes Objekt. Dadurch können Entwickler sowohl erfolgreiche als auch fehlgeschlagene Bildladeszenarien bewältigen und so eine robustere Implementierung bereitstellen.

Das obige ist der detaillierte Inhalt vonWie kann ich mit jQuery die Größe des Hintergrundbilds eines Div ermitteln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn