Ich suchte in anderen Posts nach der Antwort, aber die Antworten scheinen nie zu meinen Gunsten zu arbeiten. Ich versuche, ein Bild auszublenden, wenn die Seite geladen ist. Ich habe herausgefunden, dass ich eine Schleife machen kann, bis der Zähler 0 erreicht (wenn das Bild unsichtbar ist) und das Bild langsam ausgeblendet wird.JavaScript Timeout-Funktion
Das Problem ist, die Funktion SetTimeout() scheint nicht zu funktionieren. Hier ist der Code:
function timeout() {
setTimeout(function() {
//A comment said something about looping,
//but it was confusing to understand...
}, 50);
}
function setup() {
var load = document.getElementById('img');
load.style.opacity = 0 //Start at being visible
for (var i = 10; i > 0; i = i - 0.1) { //For loop
load.style.opacity = i; //Use the index variable and use that to set the opacity
setTimeout(); //Set the timeout, but this function does not pause the program for some reason...
//I need to pause for 0.05 seconds.
}
}
window.addEventListener('load', setup, true); //Add event listener for when the page is done loading
<!DOCTYPE html>
<html>
<head>
<title>Webpage</title>
</head>
<body>
<div id="img">
<img src="http://www.downgraf.com/wp-content/uploads/2014/09/01-progress.gif" width="200" height="150">
</div>
</body>
</html>
Kann jemand helfen? Und manchmal kann das Bild manchmal auch knifflig sein, manchmal wird es sich nicht so verstecken, wie es soll. Vielen Dank!
Selbst wenn Sie * Zeitlimit aufrufen, wird das nicht angehalten, bis es beendet ist. Der Callback, den Sie an 'setTimeout' geben, wird nach diesem Zeitraum ausgeführt, aber der Rest Ihres Codes wird weiterhin normal ausgeführt. Sie werden fast sofort "load.style.opacity = 0" einstellen. –