Hallo,
var BgChanger = {
createColorCycler : function (elem, rgbVals, rgbRanges) {
function createNextColorFunc(v, r) {
var value = v,
max = v,
range = r,
dir = 1;
return function () {
if (value <= max - range || value >= max) {
dir *= -1;
}
value += dir;
return value;
};
}
var nextRed = createNextColorFunc(rgbVals[0], rgbRanges[0]),
nextGreen = createNextColorFunc(rgbVals[1], rgbRanges[1]),
nextBlue = createNextColorFunc(rgbVals[2], rgbRanges[2]);
return function () {
elem.style.backgroundColor = "RGB(" + nextRed() + "," + nextGreen() + "," + nextBlue() + ")";
};
},
start : function (elemId, rgbVals, rgbRanges, interval) {
var elem = document.getElementById(elemId);
window.setInterval(this.createColorCycler(elem, rgbVals, rgbRanges), interval);
}
};
window.onload = function () {
BgChanger.start("bgchange", [255, 168, 136], [55, 10, 16], 120);
};
BgChanger.start(parameterlist) ist der API-Aufruf?
auf createColorCycler kann jetzt immer noch zugegriffen werden, wobei das ja nicht so "schimm" ist, oder? Ansonsten wäre er in die start-Funktion zu verfrachten ...;
Gruß
jobo