Benny: Button soll funktion ausführen bis er erneut gedürckt wird?

Hi.

Also ich habe eine page mit einem Button. Wenn dieser geklickt wird, soll eine funktion solange ausgeführt werden, bis dieser erneut gedrückt wurde. Ich habe mehrere Versuche unternommen dies zu bewerkstelligen aber ich ende immer in einer Endlosschleife weil meine WHILE-Schleife die Oberfläche blockiert und ich den Button dadurch nicht mehr betätigen kann. Habt ihr eine Idee wie ich dieses Problem lösen kann?

Danke im Voraus
und LG

  1. @@Benny:

    nuqneH

    aber ich ende immer in einer Endlosschleife weil meine WHILE-Schleife die Oberfläche blockiert und ich den Button dadurch nicht mehr betätigen kann. Habt ihr eine Idee wie ich dieses Problem lösen kann?

    setIntervall() oder setTimeout() statt while-Schleife?

    Ansonsten: Tips für Fragende.

    Qapla'

    --
    Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
    (Mark Twain)
    1. Danke für die Antworten.Also bis jetzt habe ich es wie folgt gelöst:

      Ich habe eine boolsche Variable enabled die mit true initialisiert wird. Wenn der Button geklickt Prüfe ich den Zustand der Variable und rufe dann die methode startFunction(enabled) auf. Wenn enabled true war setze ich in nach dem Funktionsaufruf auf false, andernfalls eben wieder auf true. In startFunction(enabled) habe ich dann eine while(enabled)-Schleife die erneut eine Funktion aufruft. Da die While schleife nun aber permanent aufgerufen wird, blockiert es an dieser Stelle und ich kann nichts mehr machen.

      1. Moinsen!

        Dann mach es wie dir geraten wurde. Erstelle eine Funktion statt der Schleife und rufe die Zeitgesteuert auf. setIntervall() sollte Dich happy machen. Je nach Zustand von enabled kannst Du den Intervall ausloesen oder stoppen.

        --
        "Die Diebesgilde beklagte sich darueber, dass Mumm in aller Oeffentlichkeit behauptet hatte, hinter den meisten Diebstaehlen steckten Diebe."
              - T. Pratchett
        1. Vielen Dank. ICh werds mal versuchen ;)

  2. Mahlzeit Benny,

    Also ich habe eine page mit einem Button. Wenn dieser geklickt wird, soll eine funktion solange ausgeführt werden,

    Definiere "solange"! Möchtest Du, dass in einer Funktion eine Schleife ständig wiederholt wird? Dann hast Du in der Tat ein Problem. Oder möchtest Du, dass die Funktion einfach immer wiederholt ausgeführt wird? Dann könntest Du das so lösen, dass die Funktion sich kurz vor ihrem Ende nicht direkt einfach selbst aufruft, sondern stattdessen dort ein http://de.selfhtml.org/javascript/objekte/window.htm#set_timeout@title=Timeout gesetzt wird ... so hat Dein Browser immer mal wieder kurz Zeit, sich um eventuelle Klicks auf den Button zu kümmern.

    Ich habe mehrere Versuche unternommen dies zu bewerkstelligen

    Und wie sehen diese aus? Wenn Deine Leser nicht wissen, was Du falsch machst, können sie Dir meistens auch schlecht raten, was Du verbessern bzw. korrigieren musst.

    MfG,
    EKKi

    --
    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|