onClick
Klaus M.
- javascript
Hallo,
Wie soll ich anfangen?
Ich möchte ein script ausführen lassen, das gestoppt wird, wenn man irgendwo im Browser-Fenster (egal wo) hinklickt? So habe ich mir das Vorgestellt:
<html>
<head>
<title>onClick</title>
<script src="meinscrpit.js language="JavaScript1.2"></script>
</head>
<body onLoad="meinefunction();" onClick="meinefunction.stop;">
<p>Viel Inhalt</p>
</body>
</html>
mfg Klaus M.
hallo Klaus,
Wie soll ich anfangen?
Genauso, wie du es hier aufgeschrieben hast. Mach mal.
<script src="meinscrpit.js language="JavaScript1.2"></script>
Das ist der einzige kleine Fehler dabei. Korrekt wäre:
<script src="meinscrpit.js type="text/javascript" language="javascript"></script>
Grüße aus Berlin
Christoph S.
hallo Klaus,
Hi,
<script src="meinscrpit.js language="JavaScript1.2"></script>
Das ist der einzige kleine Fehler dabei. Korrekt wäre:
<script src="meinscrpit.js type="text/javascript" language="javascript"></script>
Erst mal Danke für den Tipp.
Aber
<body onClick="meinefunction.stop;">
funktioniert leider nicht sonst hätte ich ja nicht gefragt. Also könnte mir bitte wer helfen?
mfg Klaus M.
Grüße aus Berlin
Christoph S.
hi,
<body onClick="meinefunction.stop;">
funktioniert leider nicht
Das ist eine etwas ungenaue Fehlerbeschreibung. Schau dir mal die Ausgabe der Javascript-Konsole (in mozilla) an, da müßte stehen, was daran falsch ist.
Also könnte mir bitte wer helfen?
Nein, da niemand weiß, was in "meinefunction" drinsteht. Möglicherweise fehlt lediglich die Klammer, so daß du schreiben müßtest: "meinefunction()"
Christoph S.
hi,
Also könnte mir bitte wer helfen?
Nein, da niemand weiß, was in "meinefunction" drinsteht. Möglicherweise fehlt lediglich die Klammer, so daß du schreiben müßtest: "meinefunction()"
Hier meinefunction():
<script type="text/javascript" language="javascript">
<!-- Anfang
var I = 0;
function meinefunction() {
if (I == 1000) {stop = true}
else {
self.scroll(1,I);
I = eval(I + 1);
setTimeout("meinefunction()", 0);
}
}
// Ende-->
</script>
mfg Klaus M.
Christoph S.
hallo,
if (I == 1000) {stop = true}
ist mir nicht ganz klar. Es reicht doch
if (I == 1000) {stop();}
Siehe http://selfhtml.teamone.de/javascript/objekte/window.htm#stop.
Die ganze Funktion ist mir nicht ganz klar. Du hattest ursprünglich formuliert:
Ich möchte ein script ausführen lassen, das gestoppt wird, wenn man irgendwo im Browser-Fenster (egal wo) hinklickt?
Und dafür hätte auch onclick="stop()" genügt. Ich habe weitergefragt, weil ich eben mit "meinefunction" nichts anfangen konnte, jetzt zeigt sich, daß deine Funktion im Grunde genommen nur einen Timeout setzen soll.
Christoph S.
hallo,
Hi,
if (I == 1000) {stop = true}
ist mir nicht ganz klar. Es reicht doch
if (I == 1000) {stop();}Siehe http://selfhtml.teamone.de/javascript/objekte/window.htm#stop.
Die ganze Funktion ist mir nicht ganz klar. Du hattest ursprünglich formuliert:
Ich möchte ein script ausführen lassen, das gestoppt wird, wenn man irgendwo im Browser-Fenster (egal wo) hinklickt?
Und dafür hätte auch onclick="stop()" genügt. Ich habe weitergefragt, weil ich eben mit "meinefunction" nichts anfangen konnte, jetzt zeigt sich, daß deine Funktion im Grunde genommen nur einen Timeout setzen soll.
Na das sieht doch schon mal ganz gut aus, aber wenn ich das versuche kommt bei mir immer der Fehler: Objekt erwartet.
mfg Klaus M.
hallo Klaus,
entschuldige, ich war durch mehrere andere Threads etwas abgelenkt.
Na das sieht doch schon mal ganz gut aus
Na dann is doch gut ;-)
aber wenn ich das versuche kommt bei mir immer der Fehler: Objekt erwartet.
Dazu gibt es in SELFHTML sowie im </archiv/> mehr als genug Aussagen.
Grüße aus Berlin
Christoph S.
hallo Klaus,
Hi,
entschuldige, ich war durch mehrere andere Threads etwas abgelenkt.
Macht ja nichts ;)
Na das sieht doch schon mal ganz gut aus
Na dann is doch gut ;-)
Gut heisst für mich Fehlerfreifunktion !
Nochmal ich habe eine Funktion und ich suche eine Möglichkeit diese bei bedarf abzubrechen und dafür brauche ich eure Hilfe!
Hier mal das Ganze dokument:
<html>
<head>
<title>Funktion bei bedarf abbrechen</title>
<script type="text/javascript" language="javascript">
<!-- Anfang
var I = 0;
function meinefunction() {
if (I == 0) {stop = true}
else {
self.scroll(1,I);
I = eval(I + 1);
setTimeout("meinefunction()", 0);
}
}
// Ende-->
</script>
mfg Klaus M.
</head>
<body onLoad0"meinefunktion();" onClick="Abbruch von meine funktion!;">
<p>Viel Inhalt</p>
</body>
</html>
Hallo Klaus,
zuerst: stop bezieht sich auf das Laden der Seite und steht in keinem Zusammenhang mit scroll.
Übrigens solltest du diesen Hinweis bei Microsoft ernstnehmen
This method is provided for backward compatibility only. The recommended way to scroll a window is to use the scrollTo method.
und scrollTo verwenden.
Das stop = true soll sicher bewirken, dass ein Abbruch erfolgt. Allerdings wird bei deinem Script eh nie gescrollt werden, da I immer den Wert 0 hat.
Was
var I = 0;
function meinefunction() {
if (I == 0) {stop = true;
}
else {
self.scroll(1,I);
}
//I = eval(I + 1); Warum um Himmelswillen eval()?
I++; //(siehe: http://selfhtml.teamone.de/javascript/sprache/operatoren.htm#berechnung
//setTimeout gibt eine TimerID zurück, die ein Löschen des Timers ermöglicht, die wird auf aktiv gespeichert
aktiv = setTimeout("meinefunction()", 0);
}
<body onLoad0"meinefunktion();" onClick="if (window.aktiv) clearTimeout(aktiv);">
siehe auch: http://selfhtml.teamone.de/javascript/objekte/window.htm#clear_timeout
Viele Grüße
Antje
PS: Christoph, bitte kennzeichne Threads im Betreff, wenn du keine Lösung weißt. Ein Link auf das Archiv ist nicht immer hilfreich.
Hallo Klaus,
if (I == 1000) {stop = true}
hier hast du doch deine Abbruchbedingung schon drin. Um abzubrechen, setze halt I = 1000.
I = eval(I + 1);
eval ist hier ganz überflüssig.
setTimeout("meinefunction()", 0);
bei kurzen Timeouts musst du damit rechnen, dass die Rechnergeschwindigkeit einen großen Einfluss auf die Ablaufgeschwindigkeit hat.
Grüße, Stefan
Hallo Klaus,
Hi,
if (I == 1000) {stop = true}
hier hast du doch deine Abbruchbedingung schon drin. Um abzubrechen, setze halt I = 1000.
Wenn du meinst ich solle das so machen : <body onClick="I == 1000;">
Das klappt nicht schon probiert und <body onClick="stop = true;"> funktioniert auch nicht.
mfg Klaus M.
Hallo Klaus,
hier hast du doch deine Abbruchbedingung schon drin. Um abzubrechen, setze halt I = 1000.
Wenn du meinst ich solle das so machen : <body onClick="I == 1000;">
Das klappt nicht schon probiert und <body onClick="stop = true;"> funktioniert auch nicht.
Geh doch mal hierhin: http://selfhtml.teamone.de/javascript/sprache/operatoren.htm und lies dir nach, was ein "=" und was ein "==" macht.
Grüße, Stefan