Varialbe Bildgröße UND links im Bild
brooksone
- javascript
0 at0 brooksone0 Gernot Back
Hi,
ich habe die Frage ob es möglich ist ein Bild an die Bildschirmgröße anzupassen UND gleichzeitig Links in das Bild zu integrieren.
Ich weiß das es möglich ist mit der "map" funktion in ein Bild mit hilfe von Koordinaten links zu hinterlegen.
Ich weiß auch das es möglich ist ein Bild an die Bildschirmgröße anzupassen.
Die Frage ist ob beides zugleich möglich ist.
Problem ist natürlich das ich bei den Koordinaten für die links keine statischen werte habe, sondern ich müsste ja dann die Parameter aus der Funktion umrechnen die ich beim Auslesen der Bildschirmgröße erhalten habe.
Die Frage ist wie bereits oben geschrieben ob dies in der Kombination möglich ist.
Danke allen im Vorraus die darauf antworten.
Gruß Pete
Hallo.
Die Frage ist wie bereits oben geschrieben ob dies in der Kombination möglich ist.
Die Frage ist, ob die einzelnen Browser eine solche Skalierung auch bei nachträglichen Änderungen der Fenstergröße umsetzen. Prinzipiell sollte es jedenfalls gehen, auch wenn dies ein klassisches Anwendungsgebiet für Flash wäre, zumal eine Javascript-Lösung deutlich komplizierter wäre.
MfG, at
Genau, das soll passieren. Will es aber nicht in Flash machen da ich es simple belassen will.
Somit brauche ich wie gesagt einen Lösungsansatz!
gruß Pete
Hallo brooksone,
Genau, das soll passieren. Will es aber nicht in Flash machen da ich es simple belassen will.
Flash sollte hier wirklich das simpelste von allem sein, da man den kompletten Film ja mitsamt schaltflächen skalierbar machen kann.
Somit brauche ich wie gesagt einen Lösungsansatz!
Aber so komplizeiert sollte das mit den dynamischen Koordinaten ja auch nicht sein: Du musst halt statt der absoluten Werte relative Verhältniswerte ausmessen; d.h. bestimmen auf wieviel Prozent bezogen auf die Gesamtbreite oder -höhe deines Bildes gemessen vom Ursprungspunkt links oben aus sich deine Koordinate befindet und diesen Wert dann mit dem jeweiligen Skalierungsfaktor deines Bildes multiplizieren. Die Frage ist aber, ob es wirklich reicht, die Koordinatenwerte in der Map dann per DHTML zu ändern, oder ob, bevor dies wirksam wird, die Seite möglicherweise auch noch neu gerendert (neu geladen) werden muss.
Das würde mich dann auch mal interessieren, wie das wirklich ist. Wenn du dir diese Mühe also wirklich machen willst und nicht doch Flash den Vorzug gibst, kannst du uns ja mal berichten.
Gruß Gernot
Das Problem ist ja halt das ich nicht sagen kann wie ich das machen muss.
Denn ich wenn ich anstatt koordinaten anzugeben, hier Variablen einsetzte dann kommt dort nichts gescheides raus, und das bild wird gar nicht angezeigt!
Wie funzt denn das ändern von Werten mit DHTML in der einfachsten Form ??
Hallo brooksone,
Wie funzt denn das ändern von Werten mit DHTML in der einfachsten Form ??
Nehmen wir an du hättest so etwas wie in dem Beispiel bei SELFHTML:
<map name="Landkarte">
<area shape="rect" coords="11,10,59,29" href="http://www.koblenz.de/" alt="Koblenz">
<area shape="rect" coords="42,36,96,57" href="http://www.wiesbaden.de/" alt="Wiesbaden">
Dann würdest du bei doppelter Größe des Bildes, dem diese Map zugewiesen wird, einfach auch die doppelten Werte für die Koordinaten nehmen.
Wenn dein MAP-Element das erste und/oder vielleicht sogar das einzige im Quellcode ist, dann könntest du es wie folgt ansprechen:
myMap = document.getElementsByTagName('MAP')[0];
Das Area-Element für Koblenz könntest du dann so ansprechen:
koblenz = myMap.getElementsByTagName('AREA')[0];
Das im Code zweite Area-Element dieser Map wäre dann:
wiesbaden = myMap.getElementsByTagName('AREA')[1];
usw.
Dann könntest du den Wert der einzelnen Coords-Attribute auch ändern, also z.B. Koblenz entweder so:
koblenz.coords="22,20,118,58";
oder so:
koblenz.setAttribute("coords", "22,20,118,58", "false");
... das dann für alle Areas, die du so hast. Wie gesagt: Ich bin mir gar nicht sicher, ob sich nachträgliche Änderungen der Koordinaten überhaupt auswirken; ich habe es noch nie probiert. Vielleicht braucht das Image die Koordinaten ja bereits beim Laden der Seite. In diesem Fall müsstest du die variablen Koordinaten wahrscheinlich mit document.write() schreiben.
Das scheint mir alles andere als simpel, wenn ich es mit der Flash-Lösung vergleiche.
Gruß Gernot