Ich schreibe ein Javascript-Dokument, benutze Jquery, wo ich versuche, durch ein Array von Farben als Hintergrund zu navigieren, während ich den Alpha-Wert getrennt verwalte. Die "setColor" -Funktion funktioniert einwandfrei, aber die "manageAlpha" -Funktion scheint überhaupt nicht zu funktionieren. Mein Ziel ist es, meine AlphaVar auf den absoluten Wert einer Sinusfunktion in steigenden Schritten von PI/10 mit einem 0,15 Sekunden Intervall einzustellen. Ich kann dieses Problem nicht herausfinden! Bitte helfen Sie!Problemeinstellungsintervalle mit Jquery & einer fehlerhaften Funktion
var backgroundCol = new Array(53);
var alphaVar;
backgroundCol[0] = 'rgba(255,192,192,' + alphaVar + ')';
//(array truncated)
var colorCounter = -1;
var numberOfColors = 53;
var colorTimer;
var alphaTimer;
var sinCounter = 0;
var goingUp = true;
function setColor() {
$('body.page1').css('background-color', (backgroundCol[colorCounter]));
colorCounter += 1;
if (colorCounter >= numberOfColors) {
colorCounter = -1;
}
}
function manageAlpha() {
sinCounter += Math.PI/10;
alphaVar = abs(sin(sinCounter));
}
$(document).ready(function() {
$('body.page1').css('background-color', (backgroundCol[colorCounter]));
//colorTimer = setInterval(setColor, 150);
alphaTimer = setInterval(manageAlpha, 150);
});
Nun, das erste Problem, das ich sehe, ist in Zeile 3 Sie die alphaVar Variable verwenden, ohne einen Wert zugewiesen haben. Der zweite ist, dass Sie colorCounter als Array-Index verwenden, wenn der Wert -1 ist. – nnnnnn