Hallo!
Ich möchte in einer Seite das Hintergrundbild ändern. Dies ist in einer Tabelle aufgeteilt.
Ich hab jedem Bild eine id zugewiesen (image_1, image_2, ...).
Die Dateinamen der Bilder haben die form image_01, image_02, ..., image_10, ...
Meine funktion sieht so aus:
var ImageCount = 42;
var HomePageName = "mta";
var ActiveSection = "_home";
for (var x = 1; x <= ImageCount; x++)
{
//Does the id exists?
if (document.getElementById("image_" + x))
{
if (x <= 9) //To the umbers 0-9 will be added a 0
{
document.getElementById("image_" + x).style.backgroundImage = "url(/naeff/" + HomePageName + "/" + ActiveSection + "/image/main_0" + x + ".jpg)";
}
else //To the others not
{
document.getElementById("image_" + x).style.backgroundImage = "url(/naeff/" + HomePageName + "/" + ActiveSection + "/image/main_" + x + ".jpg)";
}
}
}
Dies funktioniert auch, sind die Bilder aber nicht im Browser cache werden sie entweder sehr langsam, oder erst nach ein paar mal Seite neu laden angezeigt.
Hier in SELFHTML habe ich das Beispiel mit den Buttons gefunden: http://de.selfhtml.org/javascript/beispiele/buttons.htm#quelltext
hier wird jeweils mit my_image = new Image(); die neue Instanz erzeugt und anschliessend mit my_image.scr der Pfad zugewiesen. Ich brauche aber bei der Hintergrundgrafik als Pfad backgroundImage = "url(...". Kann ich meine Funktion dann einfach wie folgt abändern? was bewirkt new Image() genau?
for (var x = 1; x <= ImageCount; x++)
{
//Does the id exists?
if (document.getElementById("image_" + x))
{
if (x <= 9) //To the umbers 0-9 will be added a 0
{
new_image = new Image();
new_image.src = "url(/naeff/" + HomePageName + "/" + ActiveSection + "/image/main_0" + x + ".jpg)";
document.getElementById("image_" + x).style.backgroundImage = new_image.src;
}
else //To the others not
{
new_image = new Image();
new_image.src = "url(/naeff/" + HomePageName + "/" + ActiveSection + "/image/main_" + x + ".jpg)";
document.getElementById("image_" + x).style.backgroundImage = new_image.src;
}
}
Das ergebnis mit der unveränderten (der ersten hier gelisteten) Funktion kann auf www.mytinyarchive.ch.vu angesehen werden.
mfg