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

  • 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.

  • 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

  • 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:

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

    Schöne Grüße,
    Klaus

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!