Bild ändern

LadySunshine

Grünschnabel
Hi Leute,

ich kämpfe gerade mit JavaScript.
Und zwar habe ich einen "Kopfbereich" für eine Homepage. Wenn man jetzt in der Menüleiste klickt, aktualisieren sich zwei Frames, der Kopfbereich und der untere Bereich. In jedem Menü gibt es ein anderes Bild im Kopfbereich. Mom habe ich es so gelöst das ich für jedes Menü einen Kopfbereich erstellt habe. Insgesamt möchte ich aber nur einen Header und nach Menüklick die Aktualisierung des Bildes...

So sieht zum Beispiel eine Funktion aus

Code:
function Akt()
{
parent.Head.location = "../Aktuelles/Aktuelles_Head.htm";
parent.Hauptseite.location = "../Aktuelles/Aktuelles.htm";
}

so rufe ich sie auf.
<td> <a href="javascript:Akt()"><img border="0" src="../menu/image/menu_05.jpg"

Nun möchte ich, das bei aufrufen dieser Funktion, das Bild was ich brauche in einem String gespeichert wird und in meinen HTML Code übergeben wird, an die Stelle wo das Bild erscheinen soll.

Das bekomme ich einfach nicht hin, hoffe mir kann jmd helfen
 
Wenn ich dich richtig verstanden haben, dann solltest du es wie folgt machen:
Code:
<a href="javascript:Akt('../menu/image/menu_06.jpg')"><img border="0" src="../menu/image/menu_05.jpg" id='headimg'>
Das ist der Funktionsaufruf. Du übergibst hier z.B. das Bild 6...
Code:
function Akt(pfad)
{
parent.Head.location = "../Aktuelles/Aktuelles_Head.htm";
  parent-Head.location.headimg.src = pfad; //Hier das Bild der aktuallisierten Seite ändern..
parent.Hauptseite.location = "../Aktuelles/Aktuelles.htm";
}
Hoffe, das ist das was du meintest. Hab es auch nicht probiert, aber so in der RIchtung müsste es gehen.
 
oder probiere es so:
Code:
<html>
<head>
<!-- ....-->
<base target="Hauptseite">
</head>
<body>
<a href="main.htm"onclick="document.NameDesBildes.src='pfad/zum/neuen.jpg';">...</a>

<img border="0" src="../menu/image/menu_05.jpg"name="NameDesBildes">

</body>
</html>

Zur Erklärung:
Zum Austauschen der Seite im Frame wird ein normaler Link verwendet, so bleibt die Seite auch ohne JS navigierbar.
Der Effekt ist derselbe... beachte dabei die Angabe <base target="Hauptseite">... diese bewirkt, dass alle Linkziele im Frame namens "Hauptseite" geöffnet werden.

Beim Onclick wird dann nur das Bild ausgetauscht... Name und src des Bildes musst du natürlich an die Gegebenheiten anpassen.
 
Allerdings müsste bei deiner Methode das Bild noch vor dem wirklichen Seitenneuaufruf geändert werden. D.h. mann müsste jetzt die aktuallisierung der Frames auf jeden Fall vor dem Bildreload packen, oder irre ich da?
 
Nö.... in einem Frame soll eine neue Seite geladen werden...in einem anderen ein Bild ausgetauscht werden(falls ich das richtig verstanden habe)....die Reihenfolge sollte da egal sein.... es sei denn, die Seite mit demLink ist diejenige, welche ausgetauscht wird... dann müsste man das so machen, wie du sagst.
 
Danke für eure Antworten, ich habe mich gleich mal dran versucht aber es gelingt mir noch nicht.

hier mein Aufruf:

<a href="javascript:Akt('../images/Sailing.jpg')">

Wo er was wechseln soll
<td width="260" rowspan="2" id='headimg' background="../images/Main.jpg">

und hier die Funktion

function Akt(headimg)
{
parent.Head.location = "../hauptseite/Hauptseite_Head.htm";
parent.Head.location.headimg.src = "../images/Sailing.jpg";
parent.Hauptseite.location = "../Aktuelles/Aktuelles.htm";
}

Es soll das Hintergrundbild Main durch Sailing getauscht werden.... :confused:

Danke für weitere Hilfe :o)
 
Ich habe es jetzt mal noch so versucht, aber geht einfach nicht zu dem Bild mit der ID Headimg und tauscht das.

Was mache ich falsch? :(


<a href="javascript:Akt()" onclick="parent.head.document.getElementById('headimg').src='../images/Sailing.jpg';">
 
So mit der Endung habe ich es endlich hinbekommen, das Ganze ist ein Tabellenhintergrund.

background='../images/sailing.jpg'";

Meine Frage ist nun, im IE klappt es wunderbar nur im Firefox nicht was kann ich da noch machen?
 
Versuche mal, das style-Attribut zu ändern:
Code:
style.background='url(../images/sailing.jpg)';

Vielleicht lässt sich das "background"-Attribut einer Zelle nicht ändern, weil es dieses lt. HTML überhaupt nicht gibt.
 

Neue Beiträge

Zurück