SVG mit JavaScript
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
anleitung
attribut
buchen
code
datei
einbinden
ergebnis
funktion
gefunden http
hinschauen
http
multimedia
paar
papier
problem
schwarzen buchstaben
sekunde
start
string
uhr
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
function start(){ [...] var document = evt.getTarget().getOwnerDocument(); [...] }
evt ist doch gar nicht definiert... Deshalb wirft es einen Error und alles was drunter ist, wird nicht ausgeführt.
Ryan
Beitrag geändert: 16.5.2008 21:24:08 von ryanblack -
doch doch evt.getTarget() ist für das event - ich wollt ja onload
finde ich so in jeder anleitung und in jedem buch
also an evt kanns nich liegen -
Hmmm...
Kann doch gar nicht sein. Nicht mal in SelfHTML steht etwas über evt -.- . Es gibt auch keine Funktion namens getStyle() in JavaScript.
Vll benutzt du irgendein JavaScript Framework? Prototype? jQuery? Mootools? Wenn ja: Die Framework-Javascript Datei musst du auch einbinden.
Ryan
P.S. Variablen können nicht im String eingebunden werden wie in PHP. Sie müssen per + eingebunden werden, also:
stdzeig.setAttribute(\'transform\',\'rotate(h,75,75)\'); minzeig.setAttribute(\'transform\',\'rotate(m,75,75)\'); sekzeig.setAttribute(\'transform\',\'rotate(s,75,75)\');
ist falsch
stdzeig.setAttribute(\'transform\',\'rotate(\'+h+\',75,75)\'); minzeig.setAttribute(\'transform\',\'rotate(\'+m+\',75,75)\'); sekzeig.setAttribute(\'transform\',\'rotate(\'+s+\',75,75)\');
ist richtiger
//edit:
Beim näheren Hinschauen hab ich ein paar kleine logische Fehler entdeckt, so lautet die Funktion richtig und es funktioniert auch ;) :
<script type=\"text/javascript\"> <![CDATA[ function start(){ var stdzeig = document.getElementById(\'std\'); var minzeig = document.getElementById(\'min\'); var sekzeig = document.getElementById(\'sek\'); var jetzt = new Date(); var h = 360/24*jetzt.getHours(); var m = 360/60*jetzt.getMinutes(); var s = 360/60*jetzt.getSeconds(); stdzeig.setAttribute(\'transform\',\'rotate(\'+h+\',75,75)\'); minzeig.setAttribute(\'transform\',\'rotate(\'+m+\',75,75)\'); sekzeig.setAttribute(\'transform\',\'rotate(\'+s+\',75,75)\'); } ]]> </script>
* document musst du nicht definieren.
* Der Attribut \"transform\" kommt wohl nicht in style rein.
Wenn du eine Uhr machen willst, musst du jede Sekunde die Funktion start() ausführen lassen ;) .
Beitrag geändert: 17.5.2008 11:27:44 von ryanblack -
ich werd das nachher mal probieren und das ergebnis mitteilen
ich hab auch nicht bei selfhtml geschaut sonder in ein extra svg-buch - so eins aus papier mit schwarzen buchstaben die draufgedruckt sind (ja sowas gibts auch noch)
und bei http://www.selfsvg.info -
so hab jetzt sogar bei selfhtml ein passendes svg gefunden
http://de.selfhtml.org/html/multimedia/anzeige/object_data.htm
ich hatte so einiges anders, aber jetzt geht es -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage