settimout mit function geht nur mit alert???
frankx
- javascript
0 Kalle_Worms1 Struppi0 Maxx
Hallo,
folgendes Script bringt mich zum Rätseln:
<script type="text/javascript">
function location() {
location='seite2.htm';
//alert ('hallo'); -> hiermit gehts!
}
//setTimeout("location='seite2.htm'",5000); ->so gehts auch
setTimeout("location()",2000);
-->
</script>
Es funktioniert so nicht! Mit dem "Alert" (s.o. hinter den Kommentarzeichen) hab ichs probiert, das geht. Nur mit dem setTimeout ohne Funktion(s.o. hinter den anderen Kommentarzeichen) gehts auch. Warum gehts aber wie oben geschrieben nicht.
Und zudem ganz kurios:
im body:
<a href="javascript:location='seite2.htm'">link auf seite2.htm</a>
Wenn ich den Link klicke und o.g. Script davor im <head> aktiv ist, dann kommt nicht etwa die "seite2.htm" sondern im Browser erscheint der Text(!!!): seite2.htm - kann mir das jemand erklären...???
dank und gruß,
frankx
Hallo,
function location() {
location='seite2.htm';
Du packst den String 'seite2.htm' in eine Variable namens "location". Und das funktioniert nicht?
Dann mache bitte dies:
var location = 'seite2.htm';
Gilt aber nur innerhalb der Funktion. Aber wozu ist das gut?
Kalle
Hallo Kalle,
danke...;
Du packst den String 'seite2.htm' in eine Variable namens "location". Und das funktioniert nicht?
Na, das ist ja schon mal eine antwort...; das scheint ja doch zu funktionieren, weil das ja dann erklärt, was der link unten weiter dann fabriziert...;
Es liegt wohl an meinem nicht vorhandenen Verständnis der Funktion-Funkiont...; komme dem somit etwas näher...;
Ich dachte das location="..." wäre sozusagen eine Funktion innerhalb der Funktion wie das "alert", dass dann aufgerufen würde, wenn die Funktione aufgerufen wird. Denn im Grunde soll die Funktion ja nicht eine Variable zuordnern sondern bei Aufruf dafür sorgen dass
window.location.href = "seit2.htm" also ein URL-Wechsel stattfindet.
Dank, Frank...;
Weißt Du denn, wie das sozusagen innerhalb der Funktion korrekt zu definieren wäre...???
Ich dachte das location="..." wäre sozusagen eine Funktion innerhalb der Funktion wie das "alert", dass dann aufgerufen würde, wenn die Funktione aufgerufen wird. Denn im Grunde soll die Funktion ja nicht eine Variable zuordnern sondern bei Aufruf dafür sorgen dass
window.location.href = "seit2.htm" also ein URL-Wechsel stattfindet.
Dank, Frank...;
Weißt Du denn, wie das sozusagen innerhalb der Funktion korrekt zu definieren wäre...???
Mit var kannst du eine Variabel lokal deklarieren sie ist dann quasi:
window.Funktion.loaction
Struppi.
folgendes Script bringt mich zum Rätseln:
<script type="text/javascript">
function location() {
location ist ein ganz schlechter Funktionsname, da bereits ein Objekt window.location existiert und du dies damit überschreibst.
location='seite2.htm';
und hier überschreibst du die Funktion window.location
Du solltest dich auch mit Gültigkeitebereichen von Variabeln auseinandersetzen und der genauen Position der von dir verwendeten Objekte.
Es ist immer sinnvoller das Objekt möglichst genau zu definieren als darauf zu hoffen, das der Browser das schon hinbiegt. (also z.b. window.loaction.href = "...")
Struppi.
Hi frank,
function location() {
location kollidiert mit dem Objekt "location" des Objektes "window"
Grüße,
Jochen