Heim Backend-Entwicklung PHP-Tutorial Wie kann der Lazy-Loading-Effekt von Bildern durch PHP-Funktionen optimiert werden?

Wie kann der Lazy-Loading-Effekt von Bildern durch PHP-Funktionen optimiert werden?

Oct 05, 2023 pm 12:13 PM
优化 php函数 图片懒加载

Wie kann der Lazy-Loading-Effekt von Bildern durch PHP-Funktionen optimiert werden?

Wie optimiert man den Lazy-Loading-Effekt von Bildern durch PHP-Funktionen?

Mit der Entwicklung des Internets nimmt die Anzahl der Bilder auf Webseiten zu, was die Ladegeschwindigkeit der Seite unter Druck setzt. Um die Benutzererfahrung zu verbessern und die Ladezeit zu verkürzen, können wir die Bild-Lazy-Loading-Technologie verwenden. Das verzögerte Laden von Bildern kann das Laden von Bildern verzögern. Bilder werden nur geladen, wenn der Benutzer zum sichtbaren Bereich scrollt, was die Ladezeit der Seite verkürzen und das Benutzererlebnis verbessern kann.

Beim Schreiben von PHP-Webseiten können wir den Lazy-Loading-Effekt von Bildern optimieren, indem wir einige Funktionen schreiben. Im Folgenden wird ausführlich beschrieben, wie das verzögerte Laden von Bildern über PHP-Funktionen implementiert wird.

Der erste Schritt besteht darin, alle Bildlinks abzurufen.
Zuerst müssen wir die Links zu allen Bildern auf der aktuellen Seite abrufen. Dies kann durch die Verwendung der Funktion preg_match_all und regulärer Ausdrücke erreicht werden, wie unten gezeigt: preg_match_all 函数和正则表达式来实现,如下所示:

function get_image_urls($html) {
    $pattern = '/<img  class="lazy lazy"  src="/static/imghw/default1.png"  data-src="placeholder.jpg" [^ alt="Wie kann der Lazy-Loading-Effekt von Bildern durch PHP-Funktionen optimiert werden?" >]+src=["']([^"']+)["'][^>]*>/i';
    preg_match_all($pattern, $html, $matches);
    return $matches[1];
}

$html = file_get_contents('http://example.com');
$image_urls = get_image_urls($html);
Nach dem Login kopieren

第二步,生成图片占位符
在页面加载完成之前,我们需要为每个要懒加载的图片生成一个占位符,这样可以避免页面布局的重排。我们可以使用 <img class="lazy lazy" src="/static/imghw/default1.png" data-src="placeholder.jpg" alt="Wie kann der Lazy-Loading-Effekt von Bildern durch PHP-Funktionen optimiert werden?" > 标签的 data-src 属性来保存图片的真实链接,使用占位符显示图片。

function generate_placeholder($image_url) {
    return '<img  class="lazy lazy"  src="/static/imghw/default1.png"  data-src="placeholder.jpg"  data- . $image_url . '" alt="Wie kann der Lazy-Loading-Effekt von Bildern durch PHP-Funktionen optimiert werden?" >';
}

$placeholders = array_map('generate_placeholder', $image_urls);
Nach dem Login kopieren

在上述代码中,placeholder.jpg 是一个占位图片,可以根据实际情况替换为其他图片。lazy 类可以用于标识延迟加载的图片。

第三步,监听页面滚动事件
我们需要监测用户的滚动行为,当用户滚动到图片的可视区域时,我们将图片的真实链接赋值给 src 属性,实现图片的加载。

function load_image($image_url) {
    echo "<script>
        window.addEventListener('scroll', function() {
            var images = document.querySelectorAll('.lazy');
            Array.prototype.forEach.call(images, function(image) {
                var rect = image.getBoundingClientRect();
                if(rect.top >= 0 && rect.bottom <= (window.innerHeight || document.documentElement.clientHeight)) {
                    image.src = image.dataset.src;
                    image.classList.remove('lazy');
                }
            });
        });
    </script>";
}

array_map('load_image', $image_urls);
Nach dem Login kopieren

在上述代码中,我们使用 JavaScript 来监听页面的滚动事件,并根据图片是否在可视区域内来判断是否加载图片。

第四步,样式优化
为了优化用户体验,我们可以给图片添加一些渐进加载的效果,如淡入淡出效果。可以通过 CSS 来实现。

.lazy {
    opacity: 0;
    transition: opacity 0.3s;
}

.lazy.show {
    opacity: 1;
}
Nach dem Login kopieren

在 CSS 中,我们为 .lazy 类设置了一个过渡效果。当图片加载完成后,添加 .showrrreee

Der zweite Schritt besteht darin, Bildplatzhalter zu generieren

Bevor die Seite geladen wird, müssen wir jeden träge laden. Generieren Sie einen Platzhalter für das Bild, wodurch eine Neuanordnung des Seitenlayouts vermieden werden kann. Wir können das Attribut data-src des Tags <img alt="Wie kann der Lazy-Loading-Effekt von Bildern durch PHP-Funktionen optimiert werden?" > verwenden, um den tatsächlichen Link des Bildes zu speichern und einen Platzhalter zum Anzeigen des Bildes zu verwenden.
rrreee

Im obigen Code ist placeholder.jpg ein Platzhalterbild und kann je nach tatsächlicher Situation durch andere Bilder ersetzt werden. Die Klasse lazy kann verwendet werden, um verzögert geladene Bilder zu identifizieren.

Der dritte Schritt besteht darin, das Scroll-Ereignis der Seite zu überwachen. 🎜Wir müssen das Scrollverhalten des Benutzers überwachen. Wenn der Benutzer zum sichtbaren Bereich des Bildes scrollt, weisen wir den tatsächlichen Link des Bildes dem src zu -Attribut zum Implementieren des Ladebilds. 🎜rrreee🎜Im obigen Code verwenden wir JavaScript, um das Scroll-Ereignis der Seite abzuhören und basierend darauf, ob das Bild im sichtbaren Bereich liegt, zu bestimmen, ob das Bild geladen werden soll. 🎜🎜Der vierte Schritt: Stiloptimierung🎜Um das Benutzererlebnis zu optimieren, können wir den Bildern einige progressive Ladeeffekte hinzufügen, z. B. Ein- und Ausblendeffekte. Dies kann durch CSS erreicht werden. 🎜rrreee🎜In CSS legen wir einen Übergangseffekt für die Klasse .lazy fest. Wenn das Bild geladen ist, fügen Sie die Klasse .show hinzu, um das Bild anzuzeigen. 🎜🎜Zusammenfassung🎜Durch die obige PHP-Funktion können wir den Lazy-Loading-Effekt von Bildern erzielen. Rufen Sie zunächst die Links aller Bilder auf der Seite ab, generieren Sie dann Platzhalter, überwachen Sie Seitenlaufereignisse, um zu bestimmen, ob Bilder geladen werden sollen, und fügen Sie eine Stiloptimierung hinzu. Dadurch kann die Ladezeit der Seite effektiv verkürzt und die Benutzererfahrung verbessert werden. 🎜🎜Der oben bereitgestellte Code ist nur ein Beispiel. Sie können ihn entsprechend Ihren Anforderungen und der tatsächlichen Situation ändern und optimieren. Hoffe es hilft! 🎜

Das obige ist der detaillierte Inhalt vonWie kann der Lazy-Loading-Effekt von Bildern durch PHP-Funktionen optimiert werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

C++-Programmoptimierung: Techniken zur Reduzierung der Zeitkomplexität C++-Programmoptimierung: Techniken zur Reduzierung der Zeitkomplexität Jun 01, 2024 am 11:19 AM

Die Zeitkomplexität misst die Ausführungszeit eines Algorithmus im Verhältnis zur Größe der Eingabe. Zu den Tipps zur Reduzierung der Zeitkomplexität von C++-Programmen gehören: Auswahl geeigneter Container (z. B. Vektor, Liste) zur Optimierung der Datenspeicherung und -verwaltung. Nutzen Sie effiziente Algorithmen wie die schnelle Sortierung, um die Rechenzeit zu verkürzen. Eliminieren Sie mehrere Vorgänge, um Doppelzählungen zu reduzieren. Verwenden Sie bedingte Verzweigungen, um unnötige Berechnungen zu vermeiden. Optimieren Sie die lineare Suche, indem Sie schnellere Algorithmen wie die binäre Suche verwenden.

Wie performant sind PHP-Funktionen? Wie performant sind PHP-Funktionen? Apr 18, 2024 pm 06:45 PM

Die Leistung verschiedener PHP-Funktionen ist entscheidend für die Anwendungseffizienz. Zu den Funktionen mit besserer Leistung gehören echo und print, während Funktionen wie str_replace, array_merge und file_get_contents eine langsamere Leistung aufweisen. Beispielsweise wird die Funktion str_replace zum Ersetzen von Zeichenfolgen verwendet und weist eine mäßige Leistung auf, während die Funktion sprintf zum Formatieren von Zeichenfolgen verwendet wird. Die Leistungsanalyse zeigt, dass die Ausführung eines Beispiels nur 0,05 Millisekunden dauert, was beweist, dass die Funktion eine gute Leistung erbringt. Daher kann der kluge Einsatz von Funktionen zu schnelleren und effizienteren Anwendungen führen.

Vergleich von PHP-Funktionen mit Funktionen in anderen Sprachen Vergleich von PHP-Funktionen mit Funktionen in anderen Sprachen Apr 10, 2024 am 10:03 AM

PHP-Funktionen weisen Ähnlichkeiten mit Funktionen in anderen Sprachen auf, verfügen aber auch über einige einzigartige Funktionen. Syntaktisch werden PHP-Funktionen mit function, JavaScript mit function und Python mit def deklariert. In Bezug auf Parameter und Rückgabewerte akzeptieren PHP-Funktionen Parameter und geben einen Wert zurück. Auch JavaScript und Python verfügen über ähnliche Funktionen, die Syntax ist jedoch unterschiedlich. Was den Umfang betrifft, haben alle Funktionen in PHP, JavaScript und Python einen globalen oder lokalen Geltungsbereich. Auf globale Funktionen kann von überall aus zugegriffen werden, und auf lokale Funktionen kann nur innerhalb ihres Deklarationsumfangs zugegriffen werden.

Ähnlichkeiten und Unterschiede zwischen PHP-Funktionen und Flutter-Funktionen Ähnlichkeiten und Unterschiede zwischen PHP-Funktionen und Flutter-Funktionen Apr 24, 2024 pm 01:12 PM

Die Hauptunterschiede zwischen PHP- und Flutter-Funktionen sind Deklaration, Syntax und Rückgabetyp. PHP-Funktionen verwenden eine implizite Rückgabetypkonvertierung, während Flutter-Funktionen explizit Rückgabetypen angeben; PHP-Funktionen können optionale Parameter über ? angeben, während Flutter-Funktionen erforderliche und [] verwenden, um erforderliche und optionale Parameter anzugeben Flutter-Funktionen verwenden {}, um benannte Parameter anzugeben.

So optimieren Sie die Startelemente des WIN7-Systems So optimieren Sie die Startelemente des WIN7-Systems Mar 26, 2024 pm 06:20 PM

1. Drücken Sie die Tastenkombination (Win-Taste + R) auf dem Desktop, um das Ausführungsfenster zu öffnen, geben Sie dann [regedit] ein und drücken Sie zur Bestätigung die Eingabetaste. 2. Nachdem wir den Registrierungseditor geöffnet haben, klicken wir zum Erweitern auf [HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorer] und prüfen dann, ob sich im Verzeichnis ein Serialize-Element befindet. Wenn nicht, können wir mit der rechten Maustaste auf Explorer klicken, ein neues Element erstellen und es Serialize nennen. 3. Klicken Sie dann auf „Serialisieren“, klicken Sie dann mit der rechten Maustaste auf die leere Stelle im rechten Bereich, erstellen Sie einen neuen DWORD-Wert (32) und nennen Sie ihn „Star“.

Die Parameterkonfiguration des Vivox100 wurde enthüllt: Wie kann die Prozessorleistung optimiert werden? Die Parameterkonfiguration des Vivox100 wurde enthüllt: Wie kann die Prozessorleistung optimiert werden? Mar 24, 2024 am 10:27 AM

Die Parameterkonfiguration des Vivox100 wurde enthüllt: Wie kann die Prozessorleistung optimiert werden? In der heutigen Zeit der rasanten technologischen Entwicklung sind Smartphones zu einem unverzichtbaren Bestandteil unseres täglichen Lebens geworden. Als wichtiger Bestandteil eines Smartphones steht die Leistungsoptimierung des Prozessors in direktem Zusammenhang mit der Benutzererfahrung des Mobiltelefons. Als hochkarätiges Smartphone hat die Parameterkonfiguration des Vivox100 große Aufmerksamkeit erregt, insbesondere die Optimierung der Prozessorleistung hat bei den Benutzern große Aufmerksamkeit erregt. Als „Gehirn“ des Mobiltelefons beeinflusst der Prozessor direkt die Laufgeschwindigkeit des Mobiltelefons.

Welche Möglichkeiten gibt es, Ineffizienzen in PHP-Funktionen zu beheben? Welche Möglichkeiten gibt es, Ineffizienzen in PHP-Funktionen zu beheben? May 02, 2024 pm 01:48 PM

Fünf Möglichkeiten zur Optimierung der PHP-Funktionseffizienz: Vermeiden Sie unnötiges Kopieren von Variablen. Verwenden Sie Referenzen, um das Kopieren von Variablen zu vermeiden. Vermeiden Sie wiederholte Funktionsaufrufe. Einfache Inline-Funktionen. Schleifen mithilfe von Arrays optimieren.

„Black Myth: Wukong ' Die Xbox-Version wurde aufgrund eines „Speicherlecks' verzögert, die Optimierung der PS5-Version ist in Bearbeitung „Black Myth: Wukong ' Die Xbox-Version wurde aufgrund eines „Speicherlecks' verzögert, die Optimierung der PS5-Version ist in Bearbeitung Aug 27, 2024 pm 03:38 PM

Vor kurzem hat „Black Myth: Wukong“ weltweit große Aufmerksamkeit erregt. Die Anzahl der gleichzeitigen Online-Benutzer auf jeder Plattform hat einen neuen Höchststand erreicht. Dieses Spiel hat auf mehreren Plattformen große kommerzielle Erfolge erzielt. Die Xbox-Version von „Black Myth: Wukong“ wurde verschoben. Obwohl „Black Myth: Wukong“ auf PC- und PS5-Plattformen veröffentlicht wurde, gibt es keine konkreten Neuigkeiten zur Xbox-Version. Es wird davon ausgegangen, dass der Beamte bestätigt hat, dass „Black Myth: Wukong“ auf der Xbox-Plattform veröffentlicht wird. Der genaue Starttermin wurde jedoch noch nicht bekannt gegeben. Kürzlich wurde berichtet, dass die Verzögerung der Xbox-Version auf technische Probleme zurückzuführen sei. Laut einem relevanten Blogger erfuhr er aus der Kommunikation mit Entwicklern und „Xbox-Insidern“ während der Gamescom, dass die Xbox-Version von „Black Myth: Wukong“ existiert.

See all articles