Funktion so lange ausführen wie Mauszeiger...
Jörg
- javascript
0 Wolfgang0 Jörg0 Andreas Pflug0 Jörg
Guten Morgen,
ich möchte die Navigation mit den Scrollbars durch eine Javascript Navigationn ersetzten. Es handelt sich dabei um eine Frame Struktur, wobei die Scrollbars leider etwas optisch stören und ich deshalb auf zwei kleine Grafiken zurückgreifen möchte, welche beim MouseOver das Scrollen des Frames übernehmen. [1]
Der Aufruf sieht zunächst ganz einfach aus:
<a href="#" onMouseOver="javascript:scrollnavidown()"><img src="grafik" border="0" alt=""></a>
Die dazugehörige Funktion übernimmt das Scrollen:
function scrollnavidown() {
setTimeout("parent.bildnavi.scrollBy(0,-10)",10);
}
Leider wird die Funktion ja nur einmal ausgeführt - nämlich immmer nur dann wenn man mit der Maus über die Grafik fährt.
Ich möchte es jedoch so ändern, dass die Funktion solange ausgefhrt wird, wie der Mauszeiger auf/über der Grafik liegt.
Die Funktion in eine while(true) { ... } - Schleife zu packen würde mir eine Endlosschleife produzieren, was ich ja nicht möchte. Auch das Beenden der Funktion per onMouseOut sollte vermieden werden.
Ich wäre für jeden Gedankenanstoss dankbar!
Jörg
[1] Ja, ich weiss dass ich einige Benutzer damit aussperren könnte, wenn ich keine JavaScriptfreie Version erstelle...
Wenn das Wörtchen "Wenn" nicht wär'...
Einfach über onMouseout das ganze weitersteuern.........
............onMouseout="scrollnaviup()" z.b.
Guten Morgen,
ich möchte die Navigation mit den Scrollbars durch eine Javascript Navigationn ersetzten. Es handelt sich dabei um eine Frame Struktur, wobei die Scrollbars leider etwas optisch stören und ich deshalb auf zwei kleine Grafiken zurückgreifen möchte, welche beim MouseOver das Scrollen des Frames übernehmen. [1]
Der Aufruf sieht zunächst ganz einfach aus:
<a href="#" onMouseOver="javascript:scrollnavidown()"><img src="grafik" border="0" alt=""></a>
Die dazugehörige Funktion übernimmt das Scrollen:
function scrollnavidown() {
setTimeout("parent.bildnavi.scrollBy(0,-10)",10);
}
Leider wird die Funktion ja nur einmal ausgeführt - nämlich immmer nur dann wenn man mit der Maus über die Grafik fährt.
Ich möchte es jedoch so ändern, dass die Funktion solange ausgefhrt wird, wie der Mauszeiger auf/über der Grafik liegt.
Die Funktion in eine while(true) { ... } - Schleife zu packen würde mir eine Endlosschleife produzieren, was ich ja nicht möchte. Auch das Beenden der Funktion per onMouseOut sollte vermieden werden.
Ich wäre für jeden Gedankenanstoss dankbar!
Jörg
[1] Ja, ich weiss dass ich einige Benutzer damit aussperren könnte, wenn ich keine JavaScriptfreie Version erstelle...
Wenn das Wörtchen "Wenn" nicht wär'...
Hallo,
Einfach über onMouseout das ganze weitersteuern.........
Wäre nett, wenn Du es etwas genauer formulieren könntest, wie ich das steuern soll.
............onMouseout="scrollnaviup()" z.b.
Und was soll diese Funktion machen?
Jörg
Die Funktion in eine while(true) { ... } - Schleife zu packen würde mir eine Endlosschleife produzieren, was ich ja nicht möchte. Auch das Beenden der Funktion per onMouseOut sollte vermieden werden.
Moin,
das ganze kannst Du in etwa wie folgt machen (nicht getestet).
Zunächst definierst Du eine Variable
var enable = 0;
mit der gesteuert wird, ob die Animation läuft oder
nicht. Die Steuerung geht dann mit drei Funktionen:
function do_it() {
if (enable==1) {
animation(); // Deine Animations-Routine
window.setTimeout("do_it()", zeit_in_ms);
}
}
function start_it() {
enable=1;
do_it();
}
function stop_it() {
enable=0;
}
Das ganze wird dann über den Link gesteuert
<a href="#" onMouseOver="javascript:start_it();"
onMouseOut="javascript:stop_it();" >
Viele Grüße
Andreas
Hi!
das ganze kannst Du in etwa wie folgt machen (nicht getestet).
Zunächst definierst Du eine Variable
mit der gesteuert wird, ob die Animation läuft oder
nicht. Die Steuerung geht dann mit drei Funktionen:
Das ganze wird dann über den Link gesteuert
Ja, danke für den guten Denkanstoss. Die Funktionen haben so funktioniert.
Ich hatte zunächst angenommen, dass man in der Funktion die die Aktion/Animation auslöst stets überprüft, ob der Mauszeiger sich noch über dem Link befindet. Das sollte dann die Abbruchbedingung sein.
Vielen Dank!
Jörg