Weisen Sie jedem Bild über „img' forEach zu.
P粉998100648
P粉998100648 2023-07-28 23:13:59
0
1
449
<p>Ich versuche, forEach in JS unter dem img-Tag in HTML zu verwenden. </p><p>Dies ist die Variable bobbingPhotos: </p> <pre class="brush:php;toolbar:false;">bobbingPhotos.forEach(function(photo) { var randomDelay = Math.random() * 2; // Zufällige Verzögerung zwischen 0 und 2 Sekunden photo.style.animationDelay = randomDelay + 's'; });</pre> <p>Dieses Problem könnte gelöst werden, indem jedem Bild ein fest codierter Klassenname „bobbing-photo“ zugewiesen wird. Dies ist jedoch nicht möglich, da meine Bilder aus Texteingaben generiert werden. </p> <pre class="brush:php;toolbar:false;">function genericImages() { var userInput = document.getElementById('userInput').value; var imageOutput = document.getElementById('imageOutput'); imageOutput.innerHTML = ''; for (var i = 0; i < userInput.length; i++) { var Character = userInput[i].toUpperCase(); var-Element; if (character === "n") { element = document.createElement('br'); } else if (character === '') { element = document.createElement('img'); element.src = 'FONT/SPACE.png'; } anders { var image = document.createElement('img'); image.src = 'FONT/' + Zeichen + '.png'; Element = Bild; image.classList.add("bobbing-photo"); }</pre> <p>Selbst mit image.classList.add("bobbing-photo") gibt es keine Möglichkeit, jedes Bild zu unterschiedlichen Zeitpunkten auf und ab schweben zu lassen. </p><p>Gibt es eine Möglichkeit, dieses Problem zu lösen? </p><p><br /></p>
P粉998100648
P粉998100648

Antworte allen(1)
P粉512526720

由于您动态添加了图像标签,因此在添加图像标签后应再次调用动画函数。

generateImages();
    // todo here get elements by classname
    var bobbingPhotos = ...
    // call animation function again
    bobbingPhotos.forEach(function(photo) {
      var randomDelay = Math.random() * 2; // Random delay between 0 and 2 seconds
      photo.style.animationDelay = randomDelay + 's';
    });
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage