Heim  >  Artikel  >  Web-Frontend  >  Implementieren Sie Bildübergänge mit Fade-Effekten mithilfe von JavaScript

Implementieren Sie Bildübergänge mit Fade-Effekten mithilfe von JavaScript

WBOY
WBOYnach vorne
2023-08-24 16:21:041232Durchsuche

使用 JavaScript 实现具有淡入淡出效果的图像过渡

Bildkonvertierung bedeutet, Bilder zu ändern und ein Bild durch ein anderes Bild zu ersetzen. Benutzer können den Bildübergang im Bildschieberegler sehen.

Bei der Entwicklung des Bildschiebereglers sollten wir uns auf die Animation des Bildübergangs konzentrieren, um der App ein attraktives Benutzererlebnis zu bieten. In diesem Tutorial lernen wir, mithilfe verschiedener Bildübergangsmethoden einen Fade-Effekt hinzuzufügen.

Fügen Sie dem Bild eine Klasse hinzu, um das Bild mit Fade-Effekt anzuzeigen

Mit CSS können wir Bildübergängen Fade-Effekte hinzufügen. Mit der Eigenschaft „transition“ von CSS können wir einem Bild beliebige Übergänge hinzufügen. So können wir einer Klasse CSS hinzufügen und mithilfe von JavaScript dem Bild eine Klasse hinzufügen, die dem Bild einen Übergang hinzufügt

Grammatik

Benutzer können der folgenden Syntax folgen, um dem Bild eine Klasse hinzuzufügen, um das Bild mit Fade-Effekt anzuzeigen.

document.getElementById("image").classList = 'class_name';

In der obigen Syntax greifen wir mit der ID auf das Bild zu und fügen die Klasse „class_name“ zur Klassenliste des Bildes hinzu.

Beispiel

Im folgenden Beispiel haben wir einer Webseite ein Bild hinzugefügt und ihm mithilfe von CSS eine Höhe und Breite zugewiesen. Zusätzlich haben wir der img-Klasse einen Deckkraftwert von 0 hinzugefügt.

Zusätzlich haben wir der Animationsklasse die Eigenschaften „Übergang“ und „Opazität“ hinzugefügt. Das Bild enthält zunächst nicht die Klasse „animate“. Wenn der Benutzer auf die Schaltfläche klickt, führt er die Funktion FadeIn() aus und fügt dem Bild die Klasse „animate“ hinzu.

In der Ausgabe können wir beobachten, dass das Bild eingeblendet wird, wenn wir die Klasse „animate“ hinzufügen.

<html>
<head>
   <style>
      img {
         opacity: 0;
      }
      .animate {
         -webkit-transition: 2s;
         transition: 2s;
         opacity: 1;
      }
   </style>
</head>
<body>
   <h2> Using the <i> class </i> to add fadding effect in image transition </h2>
   <img id = "image" style = "width: 500px; height: 200px;" src = "https://www.tutorialspoint.com/static/images/logo-color.png" alt = "Logo Image"> <br>
   <button type = "button" onclick = "FadeIn()"> Fade In image </button>
   <script>
      function FadeIn() {
         document.getElementById("image").classList = 'animate';
      }
   </script>
</body>
</html>

Fügen Sie Überblendungen zu Bildern hinzu, indem Sie die Methoden fadeIn() und fadeout() von jQuery verwenden

Mit der fadeout()-Methode von

JQuery können wir Bilder mit einem Fade-Effekt von Webseiten entfernen. Mit der fadeIn()-Methode können wir der Webseite ein Bild mit einem Fade-Effekt hinzufügen.

Hier verwenden wir die Methoden fadeout() und fadeIn(), um dem Bildübergang einen geeigneten Fade-Effekt hinzuzufügen.

Grammatik

Benutzer können die Methoden fadeout() und fadeIn() von JQuery gemäß der folgenden Syntax verwenden, um Bildübergängen Fade-Effekte hinzuzufügen.

setInterval(fade, 3500);
function fade() {
   $("#slider img").eq(current).fadeOut(0);
   current = ++current % images.length;
   $("#slider img").eq(current).fadeIn(2000);
}

In der obigen Syntax verfolgt die aktuelle Variable das Bild, das auf der Webseite angezeigt werden soll. Wir verwenden die Methode fadeIn(), um das aktuelle Bild anzuzeigen und alle anderen Bilder auszublenden.

Schritte

Schritt 1 – Greifen Sie über den Klassennamen auf alle Bilder zu.

Schritt 2 – Verwenden Sie eine for-Schleife, um alle Bilder zu durchlaufen und alle Bilder bis auf das erste mithilfe der Anzeigeeigenschaft des Bildes auszublenden.

Schritt 3 – Erstellen Sie eine Variable namens „current“ und initialisieren Sie sie auf Null.

Schritt 4 – Erstellen Sie eine startImageTrans()-Funktion und verwenden Sie darin die setInterval()-Methode, um die fade()-Funktion alle 3500 Millisekunden aufzurufen. Benutzer können das Zeitintervall jedoch nach ihren Bedürfnissen einstellen

Schritt 5 – Verwenden Sie innerhalb der fade()-Funktion die eq()-Methode von JQuery, um auf das aktuelle untergeordnete Element zuzugreifen. Verwenden Sie die Methode fadeout(), um das aktuelle Bild auszublenden.

Schritt 6 – Erhöhen Sie den Wert der aktuellen Variablen um 1 oder setzen Sie ihn auf 0, wenn er größer als die Gesamtzahl der Bilder ist.

Schritt 7 – Verwenden Sie die fadeIn()-Methode, um das aktuelle Bild anzuzeigen.

Beispiel

Im folgenden Beispiel haben wir ein HTML-Div-Element erstellt und fünf verschiedene Bilder hinzugefügt. Wir haben den obigen Algorithmus in JavaScript für alle Bilder einzeln implementiert, mit einem Fade-Übergangseffekt.

<html>
<head>
   <script src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.3/jquery.min.js"></script>
   <style>
      img {
         height: 200px;
         width: 500px;
      }
   </style>
</head>
<body>
   <h3> Using the <i> jQuery fadeIn() method </i> to add fadding effect in image transition </h3>
   <div id="slider">
      <img src = "https://www.tutorialspoint.com/static/images/logocolor.png" class = "sliderImage" alt = "Image 1">
      <img src ="https://www.tutorialspoint.com/images/trending_categories.svg" class = "sliderImage" alt = "Image 2">
      <img src = "https://www.tutorialspoint.com/images/Data-Structure.png" class = "sliderImage" alt = "Image 3">
      <img src = "https://www.tutorialspoint.com/images/Javascript.png" class = "sliderImage" alt = "Image 4">
   </div>
   <br> <br>
   <button type = "button" onclick = "startImageTrans()"> Start Image Transitions </button>
   <script>
      let images = document.querySelectorAll('.sliderImage');
      for (let i = 0; i < images.length; i++) {
         if (i != 0)
         images[i].style.display = "none";
      }
      var current = 0;
      function startImageTrans() {
         setInterval(fade, 3500);
      }
      function fade() {
         
         // hide the previous image with fading effect
         $("#slider img").eq(current).fadeOut(0);
         current++;
         current = current % images.length;
         
         // show a current image with fading effect
         $("#slider img").eq(current).fadeIn(2000);
      }
   </script>
</body>
</html>

Fügen Sie Bildübergängen mithilfe von CSS-Übergangseigenschaften einen Fade-Effekt hinzu

Bei dieser Methode legen wir das Hintergrundbild für das HTML-Element fest. Zusätzlich fügen wir einen Fade-Übergang zum Hintergrund des HTML-Elements hinzu. Wenn wir also den Hintergrund ändern, wird er ein- und ausgeblendet.

Grammatik

Benutzer können der folgenden Syntax folgen, um mithilfe von CSS-Übergangseigenschaften einen Fade-Effekt zum Hintergrundbild hinzuzufügen.

<style>
#background-div {
   background-image: url("image_URL");
   transition: background 2s linear;
}
</style>
function FadeImage() {
   imageDiv.style.backgroundImage = `url(${allImages[current]})`;
}

Wir haben dem Element ein Hintergrundbild hinzugefügt und mithilfe von CSS in der oben genannten Syntax zum Hintergrund „übergegangen“. Immer wenn wir das Hintergrundbild mit JavaScript ändern, wird der Fade-Übergang automatisch auf das Bild angewendet.

Beispiel

Im folgenden Beispiel enthält das div-Element das anfängliche Hintergrundbild. Wir haben ein Bildarray erstellt, das die URLs verschiedener Hintergrundbilder enthält. Wir verwenden die Methode setInterval(), um alle 3000 Millisekunden die Funktion fadeInImage() aufzurufen.

In der Funktion fadeInImage() ändern wir wiederholt das Hintergrundbild, und wenn sich das Bild ändert, wird mithilfe von CSS ein Überblendungsübergang erstellt.

<html>
<head>
   <style>
      #background-div {
         background-position: center;
         background-size: cover;
         background-image:
         url("https://www.tutorialspoint.com/images/trending_categories.svg");
         display: flex;
         height: 300px;
         width: 600px;
         transition: background 2s linear;
      }
   </style>
</head>
<body>
   <h3>Using the <i> CSS transition </i> to add fadding effect in image transition</h3>
   <div id = "background-div"></div>
   <script>
      let allImages = [
         "https://www.tutorialspoint.com/images/trending_categories.svg",
         "https://www.tutorialspoint.com/javascript/images/javascript-minilogo.jpg",
         "https://www.tutorialspoint.com/css/images/css-mini-logo.jpg",
      ]
      const imageDiv = document.getElementById("background-div");
      setInterval(FadeImage, 3000);
      let current = 0;
      function FadeImage() {
         current++;
         if (current >= allImages.length) current = 0;
         imageDiv.style.backgroundImage = `url(${allImages[current]})`;
      }
   </script>
</body>
</html>

Wir haben drei Möglichkeiten kennengelernt, Bildübergängen einen Fade-Effekt hinzuzufügen. Wir haben die Methoden fadeIn() und fadeout() von JQuery in der zweiten Methode und die CSS-Eigenschaft „transition“ in der ersten und dritten Methode verwendet.

Das obige ist der detaillierte Inhalt vonImplementieren Sie Bildübergänge mit Fade-Effekten mithilfe von JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen