Bild bewegen
uwe_17
- javascript
Hallo, ich möchte gern ein Bild <img> über den Bildschirm bewegen. habe nur keinen Plan wie. Das heißt, ich muß ja nur eine coordinate in einer schleife solange Variable größer null runterlaufen lassen.
HTML
________________
<div class="link" style="position:absolute; left:350px; top:100px;">
<a class="link" border="0" href="" title="Fotogalerie">
<img src="doktorfisch.gif" width="30px" height="50px">
<br><center>Fotos</center>
</a>
Javascript.
_____________
function move_v(x,y)
{
for (x>0)
{
x = x - 1;
}
}
aber wie mache ich das jetzt ganz genau? ich möchte, das das Bild von links nach rechts läuft.
Danke im voraus
Uwe Pregla
hallo,
Hallo, ich möchte gern ein Bild <img> über den Bildschirm bewegen. habe nur keinen Plan wie.
function move_v(x,y) {
for (x>0) {
x = x - 1;
}
}
Nett gedacht, aber so einfach ist das nicht. Wie es mit einer kreisförmigen Bewegung geht, kannst du dir auf meiner Seite anschauen, Script steht im Quelltext. Du brauchst nur den Parameter für die Bewegung nach oben zu streichen, schon geht es bloß noch horizontal.
Grüße aus Berlin
Christoph S.
Nett gedacht, aber so einfach ist das nicht. Wie es mit einer kreisförmigen Bewegung geht, kannst du dir auf meiner Seite anschauen, Script steht im Quelltext. Du brauchst nur den Parameter für die Bewegung nach oben zu streichen, schon geht es bloß noch horizontal.
Na, das ist aber nicht auf dem Niveau von was wir hier versuchen zu vermittlen.
function positionieren(obj_name, links, oben){
obj_ref="document.getElementById";
eval(obj_ref+'("'+obj_name+'").style.top = oben');
eval(obj_ref+'("'+obj_name+'").style.left = links');
}
eval ist hier völlig überflüssig und macht das ganze unnötig langsam (neben dem doppelten Aufruf von getElementById - auch eine langsame Funktion), außerdem muss bei CSS Größen und Positionsangaben eine Einheit angegeben werden auch in JS.
Also besser so:
function positionieren(obj_id, links, oben){
var obj_ref= document.getElementById( obj_id);
obj_ref.style.top = oben +'px';
obj_ref.style.left = links +'px';
}
Optimieren liesse sich das ganze noch, in dem man die obj_ref einmal holt und global macht.
Struppi.
hallo Struppi,
Na, das ist aber nicht auf dem Niveau von was wir hier versuchen zu vermittlen.
Oh, erwischt ;-)
function positionieren(obj_name, links, oben){
obj_ref="document.getElementById";
eval(obj_ref+'("'+obj_name+'").style.top = oben');
eval(obj_ref+'("'+obj_name+'").style.left = links');
}
eval ist hier völlig überflüssig
Jaein. Ich darf aber kurz sagen, weshalb das noch da steht: ursprünglich hatte ich da mal drei "Objekte" rumfliegen, das ganze Ding stammt (übrigens wie das in https://forum.selfhtml.org/?t=108744&m=677932) auch noch aus meinen "Anfangsjahren" so um 1999 herum, als "eval" noch nicht so sehr kritisch betrachtet wurde. Aber im Prinzip hast du natürlich völlig recht.
Also besser so:
function positionieren(obj_id, links, oben){
var obj_ref= document.getElementById( obj_id);
obj_ref.style.top = oben +'px';
obj_ref.style.left = links +'px';
}
Optimieren liesse sich das ganze noch, in dem man die obj_ref einmal holt und global macht.
Wenn schon, dann würde ich bei einer "Revision" versuchen, als Maßeinheit möglichst durchgängig "em" einzusetzen.
Grüße aus Berlin
Christoph S.
eval ist hier völlig überflüssig
Jaein. Ich darf aber kurz sagen, weshalb das noch da steht: ursprünglich hatte ich da mal drei "Objekte" rumfliegen, das ganze Ding stammt (übrigens wie das in https://forum.selfhtml.org/?t=108744&m=677932) auch noch aus meinen "Anfangsjahren" so um 1999 herum, als "eval" noch nicht so sehr kritisch betrachtet wurde. Aber im Prinzip hast du natürlich völlig recht.
Gerade um 1999 herum war eval noch richtig kritisch, da NS 4 damit zum Absturz neigte.
Du hast 1999 nur für DOM Browser programmiert? Extrem fortschrittlich.
Wenn schon, dann würde ich bei einer "Revision" versuchen, als Maßeinheit möglichst durchgängig "em" einzusetzen.
Naja, was beim positionieren mit JS nicht unbedingt Sinn macht. Da du die Einheiten vom Browser auchn nur als Pixel zurückbekommst.
Struppi.
hallo Struppi,
Du hast 1999 nur für DOM Browser programmiert? Extrem fortschrittlich.
Danke für die Blumen. Nee, ich hatte da noch "document.layers" usw. drin, das ist im Lauf der Zeit rausgeflogen, aber den Rest, also grade die von dir jetzt angemerkte Funktion, habe ich seitdem nicht mehr angefaßt. Wie es ganz am Anfang mal aussah, kannst du dir unter http://www.christoph-schnauss.de/prog/dyn/dyn01a.htm zu Gemüte führen - bitte keine Diskussion zu dieser Grausamkeit ;-)
Wenn schon, dann würde ich bei einer "Revision" versuchen, als Maßeinheit möglichst durchgängig "em" einzusetzen.
Naja, was beim positionieren mit JS nicht unbedingt Sinn macht. Da du die Einheiten vom Browser auchn nur als Pixel zurückbekommst.
Ich habs mal schnell neu gemacht, kannst ja nochmal draufkucken.
Grüße aus Berlin
Christoph S.
Hallo Christoph.
Wie es ganz am Anfang mal aussah, kannst du dir unter http://www.christoph-schnauss.de/prog/dyn/dyn01a.htm zu Gemüte führen - bitte keine Diskussion zu dieser Grausamkeit ;-)
"Das Script wird von Netswcape 6 nicht ausgeführt, aber von Netscape 4.7, Opera und natürlich vom Internet Explo"
An dieser Stelle hast du wohl gemerkt, wie sinnlos eine Portierung für den IE ist? ;)
Gruß, Ashura
hallo,
"Das Script wird von Netswcape 6 nicht ausgeführt, aber von Netscape 4.7, Opera und natürlich vom Internet Explo"
An dieser Stelle hast du wohl gemerkt, wie sinnlos eine Portierung für den IE ist? ;)
Nö. Ich habe diese Seite bloß nie online gestellt, die lag immer nur in meinem Archiv rum, also brauchte ich mir für den angezeigten Text keine Mühe geben. Wichtig war das eingesetzte Script, das ich Mitte 2000 enorm "eingedampft" habe, die ewig langen Arrays zur Berechnung der Bahnen für die Grafiken wurden mir zuviel.
Grüße aus Berlin
Christoph S.
Lieber Christoph,
kannst du dir auf meiner Seite anschauen, Script steht im Quelltext.
*LOL* Schön, wie das Ding an Fahrt gewinnt, wenn man auf den Button "Animation starten" mehrfach klickt!
Liebe Grüße aus Ellwangen,
Felix Riesterer.
hallo Felix,
kannst du dir auf meiner Seite anschauen, Script steht im Quelltext.
*LOL* Schön, wie das Ding an Fahrt gewinnt, wenn man auf den Button "Animation starten" mehrfach klickt!
Wirst du wohl ... das ist ein streng gehütetes Geheimnis (ließe sich aber auch noch unterbinden)!
Grüße aus Berlin
Christoph S.
Hi uwe_17,
Hallo, ich möchte gern ein Bild <img> über den Bildschirm bewegen. habe nur keinen Plan wie. Das heißt, ich muß ja nur eine coordinate in einer schleife solange Variable größer null runterlaufen lassen.
Vielleicht hilft dir das Beispiel aus SELFHTML?
for (x>0)
{
x = x - 1;
}
Vielleicht auch nicht.
Und du fängst besser von vorne an.
Gruß,
Gunnar
hallo Gunnar,
Und du fängst besser von vorne an.
Das Entscheidende steht in http://de.selfhtml.org/javascript/objekte/math.htm
Grüße aus Berlin
Christoph S.
Hi Christoph,
Das Entscheidende steht in http://de.selfhtml.org/javascript/objekte/math.htm
Ich finde http://de.selfhtml.org/javascript/sprache/schleifen.htm auch sehr entscheidend.
Gruß,
Gunnar
Hallo uwe_17,
<img src="doktorfisch.gif" width="30px" height="50px">
Witzig, unter dem folgenden Link findest du mein DHTML-Erstlingswerk von vor vier Jahren, an dem ich "Blut geleckt" habe und das vielleicht ganz ähnlich ist wie dein Vorhaben. Auch wenn ich heute vieles anders machen würde, das bleibt so wie es ist! Der Fisch tut mir in Opera allerdings ziemlich Leid:
http://www.sprachlernspiele.de/Fisch/Fischframe.html
Vielleicht ermuntert dich das ja auch zum Freischwimmen, und du findest vielleicht auch ein paar Anregungen.
Gruß Gernot
hallo Gernotk,
Neee, doch bitte nicht dieses absolut kaputte Frameset. Wenn schon, dann http://www.sprachlernspiele.de/Fisch/Fisch.html, wobei es darin auch eine äußerst aussagekräftige Zeile
<noscript></noscript>
gibt ... ;-)
Vielleicht ermuntert dich das ja auch zum Freischwimmen
vielleicht ...
Grüße aus Berlin
Christoph S.
Hallo Christoph,
Neee, doch bitte nicht dieses absolut kaputte Frameset. Wenn schon, dann http://www.sprachlernspiele.de/Fisch/Fisch.html, wobei es darin auch eine äußerst aussagekräftige Zeile
<noscript></noscript>
gibt ... ;-)
Das schreibt sich mit Phase5 immer automatisch, und wenn ich dran denke, mache ich es heutzutage auch weg.
Wie ich schon sagte, das würde ich heute anders machen, aber es bleibt wie es ist!
Ohne Frameset fehlt das Seegras!
Gruß Gernot
Hallo.
Ohne Frameset fehlt das Seegras!
Zweifelsfrei ein herber Verlust.
MfG, at
Hallo at,
Ohne Frameset fehlt das Seegras!
Zweifelsfrei ein herber Verlust.
... zumal, wenn man bedenkt, wie lange ich bei diesem Seegras-Gif gebraucht habe, bis ich herausfand wie ich bei ihrer Konvertierung aus Flash das Anti-Aliasing abgestellt bekam!
Gruß Gernot
Hallo.
... zumal, wenn man bedenkt, wie lange ich bei diesem Seegras-Gif gebraucht habe, bis ich herausfand wie ich bei ihrer Konvertierung aus Flash das Anti-Aliasing abgestellt bekam!
Oh, das muss tatsächlich frustrierend sein. Da fühle ich mit dir.
MfG, at