JS - var merken/übergeben

  • JS macht mich fertig. Hab doch da nen countdown balken. Der zählt schön runter bis die Seite refresht.
    User kann das aber stoppen wenn er auf den Balken clickt.
    Alles i.O.


    Aber ich bekomm die var (sec) aus dem DIV nicht "raus".
    Möchte im Grunde bei nochmaligem click den countdown fortfahren.
    Dachte dabei an ein einfaches :

    JavaScript
    funcName(this.innerHTML)


    Aber da der DIV container on default leer ist bekomme ich nix. Die sec werden von der anderen function per innerHTML reingeschrieben.


    Functions:


    der container:

    HTML
    <div onclick="stop_refresh();" title="Hold on!" class="countdown_bar" id="countdown_bar" style="cursor:pointer;width:15%;"></div>



    Ich brauche also die verbleibenden "secs" von tick() in der function stop_refresh()
    (stop_refresh() würde dann umbenannt in toggleIrgentwas() =) )

  • Ja dann nimm doch einfach secs


    Wenn du gestoppt hast, bleibt doch auch die Variable secs unverändert, oder seh ich das grad falsch? Das heißt, du kannst sie in stop_refresh() einfach weiter verwenden, nicht wahr?


    Idee:

    Probiers doch mal aus. Schließlich ist secs in diesem Abschnitt ja bereits eine bestimmte Zahl, die dann als Startpunkt übergeben wird, oder?

  • sollte eine schleife ergeben.
    Kann aber nicht, da "secs" nicht vorhanden.
    Das ist das, was ich meine - ich brauch die var secs in der function :D
    Nur wie?


  • Den ganzen code posten wird komisch.
    Habs daher mal hier hin geposted: http://jsfiddle.net/KmKF9/
    sieht bissl kaput aus weil alle img fehlen usw. die funktion an sich läuft aber.



    die function sieht jetzt so aus:


    Das wieder starten funktioniert aber nicht =/

  • Wenn du secs global definierst kannst du die Variable auch übergreifend über Funktionen verwenden, siehe Zeile 4, 31, 38 und 46:



    Im Übrigen hast du für contin die Weite des Ladebalkens ausgelesen (style.width), welche nicht die Zahl sondern auch noch das % Zeichen zurückgegeben hat (14% z.B.), das funktioniert so natürlich nicht. :love:

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!