%Teilweise Erzeugt mit dem LaTeX-Generator: http://latex.sehnot.de

%Schriftgröße, Layout, Papierformat, Art des Dokumentes
\documentclass[10pt,oneside,a4paper]{scrartcl}

%Einstellungen der Seitenränder
\usepackage[left=2cm,right=2cm,top=1.5cm,bottom=1.5cm,includeheadfoot]{geometry}

%neue Rechtschreibung
\usepackage[ngerman]{babel}

%Umlaute ermöglichen
\usepackage[utf8]{inputenc}

%Gesamtseitenzahl
\usepackage{lastpage}

% Kopf- und Fußzeile
\usepackage[automark]{scrpage2}

%Quellcode-Listings
\usepackage{listings}

%Hyperlinks
\usepackage{hyperref}

% Rahmen um Verbatim
\usepackage{fancyvrb}
\usepackage{moreverb}



%Kopfzeile
\ihead{Webentwicklung}
\chead{}
\ohead{http://kohnlehome.de/html/animationframe.pdf}
\setheadsepline{0.5pt}

%Fußzeile
\setfootsepline{0.5pt}
\ifoot{Franz Kohnle}
\cfoot{Seite \thepage\ von  \pageref{LastPage}}
\ofoot{\today}

\pagestyle{scrheadings}

\begin{document}

% Überschrift 
\begin{center}
\LARGE % Schriftgröße
\bfseries % Fettdruck
\sffamily % Serifenlose Schrift
JavaScript-Timer mit requestAnimationFrame()
\end{center}

\paragraph*{Quelle} \href{https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame}{MDN: window.requestAnimationFrame()}

\section*{Variable zum Speichern des Zustands des Timers}
\begin{verbatim}
var timerLaeuft = false;
\end{verbatim}

\section*{Schleife}
\begin{verbatim}
var naechstesFrame = function() {
    //###########################################
    // Dieser Quellcode wird regelmäßig ausgeführt
    //###########################################
	    
    // ...	    
	            
    // Rekursion
    if(timerLaeuft) {
        requestAnimationFrame(naechstesFrame);
    }                
}
\end{verbatim}

\section*{Start}
\begin{verbatim}
var timerStarten = function() {
    if(!timerLaeuft) {
        timerLaeuft = true;
        requestAnimationFrame(naechstesFrame);
     }                
}
\end{verbatim}

\section*{Stopp}
\begin{verbatim}
var timerStoppen = function() {    
    timerLaeuft = false;                     
}
\end{verbatim}

\end{document}
