Heim  >  Artikel  >  Web-Frontend  >  So erstellen Sie einen dynamischen Fortschrittsbalken für das Laden von Seiten mit HTML, CSS und jQuery

So erstellen Sie einen dynamischen Fortschrittsbalken für das Laden von Seiten mit HTML, CSS und jQuery

WBOY
WBOYOriginal
2023-10-26 08:53:04963Durchsuche

So erstellen Sie einen dynamischen Fortschrittsbalken für das Laden von Seiten mit HTML, CSS und jQuery

So erstellen Sie einen dynamischen Seitenlade-Fortschrittsbalken mit HTML, CSS und jQuery

In der Webentwicklung ist der Seitenlade-Fortschrittsbalken eine häufige Funktion, die es Benutzern ermöglicht, den Seitenladevorgang klar zu verstehen und die Benutzererfahrung zu verbessern. Erfahrung. In diesem Artikel stellen wir vor, wie Sie mithilfe von HTML, CSS und jQuery einen dynamischen Fortschrittsbalken für das Laden von Seiten erstellen, und stellen spezifische Codebeispiele bereit.

1. HTML-Struktur

Zuerst müssen wir einen Container hinzufügen, um den Fortschrittsbalken in HTML anzuzeigen. Fügen Sie am Anfang des -Tags den folgenden Code hinzu: 标签的最开始处,添加如下代码:

<div class="progress-bar-container">
  <div class="progress-bar"></div>
</div>

其中,progress-bar-container 是容器的类名,用于设置进度条的位置和样式;progress-bar 则是进度条的类名,用于设置进度条的动画效果。

二、CSS样式

接下来,我们需要使用CSS来美化进度条。在 <style></style> 标签中,添加如下代码:

.progress-bar-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 5px;
  background-color: #f0f0f0;
}

.progress-bar {
  height: 100%;
  background-color: #4caf50;
  width: 0;
  transition: width 0.3s ease;
}

这里我们设置了进度条容器的宽度为 100%,高度为 5px,并设置了背景颜色;进度条的高度为 100%,背景颜色为绿色,并设置了宽度为 0,使用 CSS 过渡效果,在宽度发生变化时有一个平滑的过渡动画。

三、jQuery代码

最后,我们使用jQuery来实现进度条的动态效果。在 <script></script> 标签中,添加如下代码:

$(window).on('load', function() {
  var progressBar = $('.progress-bar');
  var progressBarContainer = $('.progress-bar-container');
  var max = $(document).height() - $(window).height();
  var value = 0;

  progressBarContainer.slideDown(300);

  $(document).on('scroll', function() {
    var scrollTop = $(window).scrollTop();
    value = (scrollTop / max) * 100;
    progressBar.css('width', value + '%');
  });

  $(window).on('resize', function() {
    max = $(document).height() - $(window).height();
    var scrollTop = $(window).scrollTop();
    value = (scrollTop / max) * 100;
    progressBar.css('width', value + '%');
  });

  progressBarContainer.fadeOut(300);
});

上述代码首先获取了进度条和进度条容器的jQuery对象,然后计算了页面可以滚动的最大高度,并初始化进度条的值为0。

接着,通过监听 scroll 事件,实时获取当前滚动的位置,并将其转换为百分比形式来改变进度条的宽度。

同时,通过监听 resize 事件,当窗口大小发生变化时,重新计算页面可以滚动的最大高度,并更新进度条的宽度。

最后,进度条容器在页面加载完成后以淡出的方式消失。

四、使用方法

将上述代码添加到对应的位置后,保存文件为 .htmlrrreee

wobei progress-bar-container der Klassenname des Containers ist Legen Sie den Fortschrittsbalken fest. Position und Stil; progress-bar ist der Klassenname des Fortschrittsbalkens, der zum Festlegen des Animationseffekts des Fortschrittsbalkens verwendet wird.

2. CSS-Stil

Als nächstes müssen wir CSS verwenden, um den Fortschrittsbalken zu verschönern. Fügen Sie im Tag <style></style> den folgenden Code hinzu:

rrreee

Hier stellen wir die Breite des Fortschrittsbalkencontainers auf 100 %, die Höhe auf 5 Pixel und die Hintergrundfarbe ein Der Wert des Fortschrittsbalkens beträgt 100 %, die Hintergrundfarbe ist grün und die Breite ist auf 0 eingestellt. Mithilfe von CSS-Übergangseffekten gibt es eine sanfte Übergangsanimation, wenn sich die Breite ändert. 🎜🎜3. jQuery-Code🎜🎜Schließlich verwenden wir jQuery, um den dynamischen Effekt des Fortschrittsbalkens zu erzielen. Fügen Sie im Tag <script></script> den folgenden Code hinzu: 🎜rrreee🎜Der obige Code ruft zunächst das jQuery-Objekt des Fortschrittsbalkens und des Fortschrittsbalkencontainers ab und berechnet dann die maximale Höhe, über die die Seite scrollen kann , und initialisiert den Fortschritt. Der Wert des Balkens ist 0. 🎜🎜Als nächstes erhalten Sie durch Abhören des scroll-Ereignisses die aktuelle Scroll-Position in Echtzeit und wandeln sie in einen Prozentsatz um, um die Breite des Fortschrittsbalkens zu ändern. 🎜🎜Gleichzeitig wird durch Abhören des Ereignisses resize bei einer Änderung der Fenstergröße die maximale Höhe, über die die Seite scrollen kann, neu berechnet und die Breite des Fortschrittsbalkens aktualisiert. 🎜🎜Schließlich verschwindet der Fortschrittsbalken-Container, indem er nach dem Laden der Seite ausgeblendet wird. 🎜🎜4. So verwenden Sie 🎜🎜Nachdem Sie den obigen Code an der entsprechenden Stelle hinzugefügt haben, speichern Sie die Datei im Format .html und öffnen Sie die Datei dann über den Browser, um den dynamischen Effekt der Seite zu sehen Fortschrittsbalken wird geladen. 🎜🎜Zusammenfassung🎜🎜In diesem Artikel wird erläutert, wie Sie mithilfe von HTML, CSS und jQuery einen dynamischen Fortschrittsbalken für das Laden von Seiten erstellen. Durch das Hinzufügen einer HTML-Struktur, das Festlegen von CSS-Stilen und die Kombination der Event-Listening- und CSS-Übergangseffekte von jQuery können wir den Seitenladevorgang in Echtzeit anzeigen und die Benutzererfahrung verbessern. 🎜🎜Ich hoffe, dieser Artikel ist hilfreich für Sie! 🎜

Das obige ist der detaillierte Inhalt vonSo erstellen Sie einen dynamischen Fortschrittsbalken für das Laden von Seiten mit HTML, CSS und jQuery. 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