nach scrollTo(posx,posy) ein Bild in die Mitte zentrieren
Joschan
- javascript
Hallo!
Da bin ich wieder mit einer Frage. Danke erst einmal für die vielen Hilfen in der vergangenen Zeit - da bin ich (als Neuling) wirklich gut weitergekommen.
Aufgabe ist es ein grosses Bild in einen Frame zu laden und nur eine bestimmte Stelle im Fenster (das Bild ist grösser als das Fenster) anzuzeigen. Das funktioniert sehr sehr gut mit scrollTo(posx,posy). Die Variablen übertrage ich von einer anderen URL auf diese Seite.
Jetzt soll aber ein zweites kleines Bild so positioniert werden, dass es genau an den Positionen posx/posy erscheint.
Ich habe es mit style="position:absolute; top:posx; left:posy" versucht, aber die Variablen werden natürlich nicht erkannt.
Hat jemand von Euch eine Idee?
Viele Grüsse
Joschan
Hier ist die URL:
<HTML>
<HEAD>
<script type="text/javascript">
function scroll()
{
variable = self.location.href.split("?");
posx = variable[1];
posy = variable[2];
window.scrollTo(posx-200,posy-100);
}
</script>
</HEAD>
<BODY onLoad="scroll()">
<p><b>Stammbaum der Familie Mohr / Mayer</b><br>
<MAP NAME="bgesamt">
<AREA SHAPE="rect" COORDS="1048,831,1071,843" HREF="BYan.html">
...
<AREA SHAPE="rect" COORDS="136,57,250,72" HREF="PAhnen.html#Simon">
</MAP>
<p><span class="smallfont" style="position: absolute; left: 0px; top: 50px">
<IMG SRC="bgesamt.jpg" ALIGN="RIGHT" USEMAP=
"#bgesamt" ISMAP WIDTH="1335" HEIGHT="1203">
</span></p>
<p><span class="smallfont" style="position: absolute; left: 666px; top: 510px; z-index: 1; filter:alpha(opacity=50,style=0)">
<img src="rechteck.gif" border="0"></span></p>
</BODY></HTML>
Hi!
Du arbeitest doch mit Jacascript. Wie waers dann mit kleinesbild.style.left = posx und kleinesbild.style.top = posy?
Was ich bei deinem Code aber nicht so ganz verstehe: Du nimmt Absaetze (p) und darein kommen spans, die ein bild umgeben. Dann formatierst Du die spans so, dass sie die Absaetze verlassen.
Wozu dienen also die Absaetze? Warum formatierst Du nicht einfach die Bilder mit CSS?
Das nur so am Rande.
Gruss,
Ja danke, das könnte gehen.
Ich suche mal die genaue Syntax raus. So fit bin ich noch nicht in JavaScript.
Viele Grüsse
Joschan
GESCHAFFT!
Hier ist die Lösung!
(und wie der Absatz reingekommen ist, weiss ich auch nicht...)
Viele Grüsse und DANKE!
Joschan
<script type="text/javascript">
function scroll()
{
variable = self.location.href.split("?");
posx = variable[1];
posy = variable[2];
window.scrollTo(posx-200,posy-200);
}
</script>
<script type="text/javascript">
function positionieren(id)
{
variable = self.location.href.split("?");
posx = variable[1]-5;
posy = variable[2]-(-45);
document.getElementById(id).style.left = posx+"px" ;
document.getElementById(id).style.top = posy+"px" ;
}
</script>
</HEAD>
<BODY onLoad="scroll()">
<MAP NAME="bgesamt">
...
</MAP>
<span class="smallfont" style="position: absolute; left: 0px;
top: 50px">
<IMG SRC="bgesamt.jpg" ALIGN="RIGHT"
USEMAP="#bgesamt" ISMAP>
</span>
<img src="rechteck.gif" border="0" id="bild" style="position:
absolute; z-index: 1; filter:alpha(opacity=50,style=0)"
onload="positionieren('bild')"></span>
</BODY>
</HTML>
Sehr schoen, dass Du das hinbekommen hast. :)
Son lautes danke hatte es gar nicht gebraucht. Da wird man ja rot. :)
Was Du definitiv noch aendern solltest: Du brauchst nicht fuer jede Funktion einen Scriptbereich. Einer genuegt voellig fuer alles Javascript. Oder du lagerst es gleich in eine andere Datei aus.
Mehrere Scriptbereiche brauchst Du nur, wenn Du an unterschiedlichen Stellen Javascript benoetigst. Also eigentlich fast nie.
Gruss,
Sehr schoen, dass Du das hinbekommen hast. :)
Son lautes danke hatte es gar nicht gebraucht. Da wird man ja rot. :)
Was Du definitiv noch aendern solltest: Du brauchst nicht fuer jede Funktion einen Scriptbereich. Einer genuegt voellig fuer alles Javascript. Oder du lagerst es gleich in eine andere Datei aus.
Mehrere Scriptbereiche brauchst Du nur, wenn Du an unterschiedlichen Stellen Javascript benoetigst. Also eigentlich fast nie.
Gruss,
Danke für den Tip, aber das hatte ich zuerst auch versucht. Komischerweise funktionierte es nicht. Da werde ich später noch etwas spielen.
Jetzt da das Problem gelöst ist, werde ich mir erst noch etwas mehr Grundlagen aneignen - ist auch nötig - hihihi....
viele Grüsse
Joschan