Heim > Web-Frontend > js-Tutorial > HTML, CSS und jQuery: Tipps zum verzögerten Laden von Bildern

HTML, CSS und jQuery: Tipps zum verzögerten Laden von Bildern

王林
Freigeben: 2023-10-24 12:22:55
Original
767 Leute haben es durchsucht

HTML, CSS und jQuery: Tipps zum verzögerten Laden von Bildern

HTML, CSS und jQuery: Tipps zum Implementieren des verzögerten Ladens von Bildern

Auf modernen Websites ist das verzögerte Laden von Bildern eine häufig verwendete Optimierungstechnik, die die Ladeleistung der Website verbessern und die Belastung des Servers verringern kann . Durch das verzögerte Laden von Bildern können Sie Bandbreite sparen und das Laden von Seiten beschleunigen, indem Sie Bilder nur dann laden, wenn der Benutzer zum sichtbaren Bereich scrollt. In diesem Artikel wird erläutert, wie Sie mithilfe von HTML, CSS und jQuery das verzögerte Laden von Bildern implementieren, und es werden spezifische Codebeispiele bereitgestellt.

1. HTML-Struktur
Zunächst müssen wir für jedes Bild, das verzögert geladen werden muss, einen Platzhalter hinzufügen und CSS-Stile verwenden, um die Breite und Höhe der Seite festzulegen Das Layout ist stabil.

<div class="image-container">
  <div class="placeholder"></div>
  <img data-src="image.jpg" alt="Image">
</div>
Nach dem Login kopieren

Im obigen Code stellt image-container den Container des Bildes dar und placeholder ist ein Platzhalter, der angezeigt wird, bevor das Bild geladen wird. Das Attribut data-src des Tags img speichert die tatsächliche Adresse des Bildes, während das Attribut alt alternativen Text für das Bild bereitstellt. image-container表示图片的容器,placeholder是一个占位符,在图像加载之前会显示。img标签的data-src属性存储图像的真实地址,而alt属性则为图像提供替代文本。

二、CSS样式
接下来,我们需要为占位符和图像设置一些CSS样式。

.image-container {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 75%; /* 设置高度占比 */
}

.placeholder {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #f3f3f3; /* 设置占位符背景颜色 */
}

img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover; /* 等比例缩放填充容器 */
  opacity: 0; /* 图像透明度为0,初始状态不显示 */
  transition: opacity 0.3s ease; /* 添加过渡效果 */
}
Nach dem Login kopieren

在上述代码中,.image-container使用了相对定位,设置了宽度为100%,高度为0,并通过padding-bottom属性设置了一个高度占比,可以根据具体需求进行调整。.placeholder设置了绝对定位,占满整个容器,并设置了背景颜色。img设置了绝对定位,将图像放置到容器的左上角,设置了宽度和高度为100%并使用object-fit来保持图像的比例,初始状态下透明度为0,并添加了过渡效果。

三、jQuery懒加载
最后,我们使用jQuery来实现图像的懒加载。需要在页面加载完毕后,当用户滚动到可见区域时,将图像的data-src属性值赋给src属性,并将透明度改为1,实现图像的显示。

$(window).on('scroll', function () {
  $('.image-container').each(function () {
    if ($(this).offset().top < $(window).scrollTop() + $(window).height()) {
      var $img = $(this).find('img');
      $img.attr('src', $img.data('src'));
      $img.css('opacity', 1);
    }
  });
});
Nach dem Login kopieren

上述代码中,当用户滚动页面时,使用offset().top获取每个图像容器的顶部位置,与scrollTop()height()比较,判断是否已经滚动到可见区域。如果是,则将图像的data-src属性值赋给src

2. CSS-Stile

Als nächstes müssen wir einige CSS-Stile für Platzhalter und Bilder festlegen.

rrreee

Im obigen Code verwendet .image-container die relative Positionierung, setzt die Breite auf 100 %, die Höhe auf 0 und legt sie über den padding-bottom fest Attribut Ein Höhenverhältnis, das je nach Bedarf angepasst werden kann. .placeholder legt die absolute Positionierung fest, füllt den gesamten Container und legt die Hintergrundfarbe fest. img legt die absolute Positionierung fest, platziert das Bild in der oberen linken Ecke des Containers, setzt die Breite und Höhe auf 100 % und verwendet object-fit, um die Proportionen des Bildes beizubehalten Bild, Ausgangszustand Verringern Sie die Transparenz auf 0 und fügen Sie einen Übergangseffekt hinzu.

3. JQuery Lazy Loading🎜Schließlich verwenden wir jQuery, um das Lazy Loading von Bildern zu implementieren. Wenn der Benutzer nach dem Laden der Seite zum sichtbaren Bereich scrollt, wird der Attributwert data-src des Bildes dem Attribut src zugewiesen und die Transparenz wird auf 1 geändert Anzeige von Bildern zu erreichen. 🎜rrreee🎜Wenn der Benutzer im obigen Code durch die Seite scrollt, verwenden Sie offset().top, um die oberste Position jedes Bildcontainers zu ermitteln, was mit scrollTop() und <code> height()Vergleichen, um festzustellen, ob in den sichtbaren Bereich gescrollt wurde. Wenn ja, weisen Sie den Attributwert data-src des Bildes dem Attribut src zu und ändern Sie die Transparenz auf 1. 🎜🎜Zu diesem Zeitpunkt haben wir die gesamte Implementierung des verzögerten Ladens von Bildern abgeschlossen. Denken Sie vor der Verwendung dieser Techniken daran, die jQuery-Bibliothek und den obigen Code einzubinden, damit sie ordnungsgemäß ausgeführt werden. 🎜🎜Zusammenfassung🎜In diesem Artikel wird erläutert, wie Sie mit HTML, CSS und jQuery das verzögerte Laden von Bildern implementieren, und es werden spezifische Codebeispiele bereitgestellt. Durch das verzögerte Laden von Bildern können Sie die Ladeleistung von Webseiten verbessern, den Serverdruck verringern und ein besseres Benutzererlebnis bieten. Ich hoffe, dieser Artikel hilft Ihnen, die Technik des verzögerten Ladens von Bildern zu verstehen, anzuwenden und sie bei der Entwicklung von Websites nützlich zu machen. 🎜

Das obige ist der detaillierte Inhalt vonHTML, CSS und jQuery: Tipps zum verzögerten Laden von Bildern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage