zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Javascript & Ajax
Seite neu laden Funktionsabläufe in JS steuern

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 20.09.2007, 10:16
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 13.05.2007
Beiträge: 23
Phantom1410 befindet sich auf einem aufstrebenden Ast
Standard Funktionsabläufe in JS steuern

Hallo,

wieder eine kleine JS-Frage:

Ich habe mehrere Funktion, eine davon fadet ein Element ein. Dies geschieht über SetInterval. Ist der Maximalwert für das Faden erreicht, beendet die Funktion selbst den Interval.

Eine andere Funktion führt erst einige Anweisungen aus, startet dann einen Intervall für die Fade-Funktion und führt die restlichen Anweisungen aus.

Ich wollte jetzt, dass die zuletzt genannte Funktion solange unterbrochen wird, bis der Fade-Vorgang vorüber ist. Doch leider weis ich nicht, wie ich das erreiche.

Ich könnte ja auch die restlichen Aktionen in die Fade-Funktion schreiben, aber das ist, denke ich, Flickschusterei.

Danke im Voraus
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 20.09.2007, 11:07
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.979
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Das geht nicht, da JS keine Funktion bereithält um etwas anzuhalten (und das ist gut so), d.h. du musst eine Benachrichtung einführen, die dem Programm mitteilt, das etwas zu Ende ist und dann weiter machen. z.b. über eine Callbackfunktion in deiner fade Funktion.
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 20.09.2007, 11:13
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 13.05.2007
Beiträge: 23
Phantom1410 befindet sich auf einem aufstrebenden Ast
Standard

Hm,

ich hatte es schonmal mit einer While-Schleife probiert, aber aus anderen Programmiersprachen weiß ich, dass das relativ schlechter Stil ist.

Wie sähe so ein Callback aus? Habe es noch nie eingesetzt.

Vielen Dank
Mit Zitat antworten
  #4 (permalink)  
Alt 20.09.2007, 12:05
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.979
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Eine Callbackfunktion ist dir sicher schon im zusammenhang mit Events über den Weg gelaufen.

Es gibt mehrere Wege sowas umzusetzen, einer sähe in etwa so aus:

PHP-Code:
function Funktionparam ) {
    
alert('Es hat ' param 'ms gedauert');
}

function 
tu_was(callback) {
    var 
t1= new Date();
    for(var 
099999i++) {
        
// tu_was
        
var Math.cos1i);
    }
    
callback( (new Date()) - t1 );// Hier wird die Callback Funktion aufgerufen
}

tu_was(Funktion); 
Mit Zitat antworten
  #5 (permalink)  
Alt 20.09.2007, 22:13
Benutzerbild von Lockhead883
<? echo "Hello World"; ?>
XHTMLforum-Mitglied
 
Registriert seit: 01.03.2006
Beiträge: 132
Lockhead883 befindet sich auf einem aufstrebenden Ast
Standard

Solch ein Zeitanbhäniger Callback ist aber auch nicht wirklich Sinnvoll!

Im 1. Fade-Intervall setzt du einen variabel auf 0 sobald dieser fade abgeschlossen ist setzt du sie auf 1.

Im 2. Fade Intervall überprüfst du ob die variable aus dem 1. Fade 1 oder 0 ist und solange sie 0 ist machst du nichts!

ganz einfach

man könnte auch auf andere laufzeit werte überprüfen und erst bei der richtigen konstellation weitermachen. wenn du z.b. per schubladeneffekt die höhe eines elementes änderst könntest du in der zweiten funktion immer gegen die höhe testen.
Mit Zitat antworten
  #6 (permalink)  
Alt 21.09.2007, 09:45
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.979
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Das was du vorschlägst ist nicht sinnvoller.
Mit Zitat antworten
  #7 (permalink)  
Alt 21.09.2007, 10:35
Benutzerbild von Lockhead883
<? echo "Hello World"; ?>
XHTMLforum-Mitglied
 
Registriert seit: 01.03.2006
Beiträge: 132
Lockhead883 befindet sich auf einem aufstrebenden Ast
Standard

Mein Vorschlag ist aber in dem Sinne besser wenn das ganze auf einem betagten rechner läuft und man nur per Zeit das 1. Fade abwartet kann es passieren das das 2. bereits startet wenn das 1. noch nicht fertig ist! Das passiert bei meiner methode nicht!

Für dynamische Pausen sollte man nie die Zeit sondern immer einen Zustand als Ausgangspunkt verwenden.
Mit Zitat antworten
  #8 (permalink)  
Alt 21.09.2007, 11:18
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.979
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von Lockhead883 Beitrag anzeigen
Mein Vorschlag ist aber in dem Sinne besser wenn das ganze auf einem betagten rechner läuft und man nur per Zeit das 1. Fade abwartet kann es passieren das das 2. bereits startet wenn das 1. noch nicht fertig ist! Das passiert bei meiner methode nicht!

Für dynamische Pausen sollte man nie die Zeit sondern immer einen Zustand als Ausgangspunkt verwenden.
Dann hast du nicht Verstanden wie eine Callbackfunktion funktioniert, da wartet nichts, sondern diese wird aufgerufen wenn die erste Funktion fertig ist, während bei deinem Ansatz immer 2. Intervale laufen, was für betagte Rechner sicher die schlechtere Lösung ist.
Mit Zitat antworten
  #9 (permalink)  
Alt 22.09.2007, 14:05
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 13.05.2007
Beiträge: 23
Phantom1410 befindet sich auf einem aufstrebenden Ast
Standard

Es tut mir leid, dass ich mich so lange jetzt nicht gemeldet habe, aber ich war Donnerstag und Freitag nicht am Rechner.

Ich werde das mit dem Callback mal ausprobieren, da das eigentlich die beste Lösung ist - wie gesagt - ich kenne diese Funktionsweise aus anderen Programmiersprachen. Ich muss nur schauen, wie ich das jetzt in JS hinbekomme....

Ich danke euch erstmal und werde mich dann nochmal melden!

Danke und Tschüss
Mit Zitat antworten
Sponsored Links
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Frameset über CSS steuern MadBall CSS 7 30.03.2010 15:57
Anführungs-/Schlusszeichen in h1 steuern ThreeDude CSS 4 29.01.2010 15:42
Selectbox AuswahlFocus Farbe steuern? sepp88 CSS 0 22.12.2009 03:12
Aus IFrame Parent steuern oder spezielles Popup akb Javascript & Ajax 1 04.01.2007 11:49
img alt tag über css steuern?? biki CSS 1 12.09.2003 19:47


Alle Zeitangaben in WEZ +2. Es ist jetzt 03:48 Uhr.