Sie sind nicht angemeldet.

1

Donnerstag, 25. März 2010, 10:48

Plugin erst reagieren lassen, wenn man lange genug mit der Maus darauf ist?

Hi,

kurze Frage: Kann ich bei einem Plugin einstellen, dass es z.b. bei onover eine Aktion erst nach einer bestimmten Zeit ausführt wenn ich lange
genug mit der Maus darauf war.

Also zum Beispiel: onover="tween(x,100);" soll erst ausgeführt werden wenn ich 0,5 Sekunden lang auf dem Plugin war und nicht etwa 0,2 Sekunden.
Delayedcall ist hier wohl nicht zu verwenden, da er eine bestimmte Aktion ja nur verzögert ausführt.

Weiß jemdand eine Lösung für mein Problem?

Danke und Viele Grüße
Michael

Beiträge: 602

Wohnort: Sachsen

Beruf: Webdesigner- und entwickler sowie Fotodesigner

  • Nachricht senden

2

Donnerstag, 25. März 2010, 13:15

Std.mäßig geht das nicht, aber...
...man könnte sich mit einer Variablen und einer If-Abfrage behelfen (alles erstmal Theorie).

Bei Over setzt man sich eine globale Variable auf 1, welche bei Out wieder auf 0 gesetzt wird.
Jetzt zyklisch mit tween eine action starten, welche per if prüft, ob diese var 1 ist.
Wenn dem so ist, dann kannst Du Deine richtige Aktion starten, sonst wird die gleiche Aktion per tween in x sekunden wieder aufgerufen.
Wichtig wäre dabei, dass in dieser Prüfung einbezogen wird, ob man sich über dem Plugin befindet (entweder ein passendes Event nehmen oder eine zusätzliche Variable ranziehen.

Wie gesagt, alles erstmal Theorie.
Müsste man testen.

Aber vielleicht hat ja Klaus noch was in Petto.

3

Donnerstag, 25. März 2010, 14:25

Hallo iceman,

danke für deine Antwort. Hmm, klingt jetzt erstmal ziemlich aufwendig, muss ich mich mal näher damit auseinandersetzten...
Problem ist halt, dass ich etwa zwanig Plugins habe, die dieses Verhalten haben sollen - da wäre eine "einfache" Lösung
nicht schlecht.
Aber schaun ma mal was Klaus dazu meint...

Viele Grüße
Michael

4

Donnerstag, 25. März 2010, 15:27

Hi,

ja, es gibt eine "einfache" Lösung

solange sich die Maus über einem Plugin oder Hotspot befindet,
wird bei diesem eine "hovering" Variable auf "true" gesetzt (sonst auf "false"),

d.h. das wäre dann der fertige Code:

Quellcode

1
onover="delayedcall(0.5, if(hovering, tu_irgendwas()) );"


Schöne Grüße,
Klaus

5

Donnerstag, 25. März 2010, 15:47

Hallo Klaus,

perfekt wie immer *thumbsup*, vielen Dank.

Gruß
Michael

Beiträge: 602

Wohnort: Sachsen

Beruf: Webdesigner- und entwickler sowie Fotodesigner

  • Nachricht senden

6

Donnerstag, 25. März 2010, 19:35

siehste, so einfach war es.
@klaus: es wäre schön, wenn man eine Liste aller mölglichen Variablen hätte, die man irgendwo einsetzen kann.