HTMLWorld - HTML, CSS, JavaScript, PHP, Java, Flash und vieles mehrHTMLWorld:   Home | Impressum
 

 
 

Anzeige 
 
HTMLWorld » Forum

Thema anzeigen - nur jedes dritte Mal ausführen

 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

nur jedes dritte Mal ausführen

 

Neues Thema eröffnen   Neue Antwort erstellen    HTMLWorld Foren-Übersicht
   JavaScript
Vorheriges Thema:
Nächstes Thema:  
Autor Nachricht
Paul
Forumsteilnehmer


Anmeldungsdatum: 21.02.2006
Beiträge: 13

BeitragVerfasst am: 20.08.2007 07:18:58    Titel: nur jedes dritte Mal ausfähren Antworten mit Zitat

Moin,
ist dies eine gute (performante) Lösung um eine Funktion nur jedes dritte mal auszuführen?


Code:
var abc = 0;

function xyz() {
 if (abc == 0) {
   Funktionsinhalt
 }

 if (abc == 0) {
   abc = 1;
 }
 else if (abc == 1) {
   abc = 2
 }
 else {
   abc = 0;
 }
}



Danke,
Paul
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Simon
Häufiger Poster


Anmeldungsdatum: 03.05.2005
Beiträge: 195
Wohnort: Schweiz

BeitragVerfasst am: 20.08.2007 15:09:19    Titel: Antworten mit Zitat

Könntest Du etwas kürzen:

Code:
$i = 0; //Counter
if($i < 2)
  $i++;
else
  {
     // Funktion ausführen
    $i = 0;
  }


Edit: Ist in PHP. Kann kein JS Smile
Musst halt JS-Synthaxe verwenden Smile
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
admin
Site Admin


Anmeldungsdatum: 16.01.2005
Beiträge: 323
Wohnort: Berlin

BeitragVerfasst am: 20.08.2007 15:21:48    Titel: Antworten mit Zitat

sofern die eine variable hast, die die durchläufte zählt, etwa in einer for-schleife, ist mod das beste:

Code:
for(i=0;i<39309;i++)
{
 if(i % 3 == 2){ machwas(); }
}


davon abgesehen dürfte es bei javascript kaum einem auffallen ob deine funktion 3 millisekunden länger braucht oder nicht - für soetwas ist javascript sowieso nicht ausgelegt. Wink
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen MSN Messenger
Paul
Forumsteilnehmer


Anmeldungsdatum: 21.02.2006
Beiträge: 13

BeitragVerfasst am: 21.08.2007 06:20:52    Titel: Antworten mit Zitat

Danke für Eure Antworten.

Zum Hintergrund der Frage:
Die Funktion wird bei mousemove ausgeführt. Der FF macht keine Probleme. Der IE hingegen "verschluckt" sich wohl an zu viel input und stockt wenn jedes mal bei mousemove (also um 1 Pixel verschieben) die Funktion aufgerufen wird. Wenn die Funktion aber nur jedes dritte mal (jedes zweite mal reicht auch schon) aufgerufen wird, läuft alles glatt.


Deshalb kann ich keine feste Zahl angeben. Könnte sehr schnell sehr viel werden.

Paul
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    HTMLWorld Foren-Übersicht
   JavaScript
Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.