• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Und noch einmal Fancy Box

Gunter

Neues Mitglied
Hallo Zusammen
Mit einer Tastenkombination öffne ich die Fancy Box.
Code:
 $(document).keydown(function(e) {
           if (e.ctrlKey && e.shiftKey && e.keyCode === 57) {
               window.location.href='dienstag.htm#gallery';
          }
        
        });
Ist es möglich an dieser Stelle gleich eine Zeitdauer festzulegen nach der die Box wieder schliesst?
Für zweckdienliche Hinweise herzlichen Dank.

Gruss
Gunter
 
Ja, ja setTimeout hab ich mit Google auch gefunden. Als Anfänger hat man aber das Problem, wie setzt man das syntaxrichtig Zusammen? Vielleicht könnte noch jemand unterstützend an meinem Code Schnipsel ein Example statuieren?
 
Ja, ja setTimeout hab ich mit Google auch gefunden. Als Anfänger hat man aber das Problem, wie setzt man das syntaxrichtig Zusammen? Vielleicht könnte noch jemand unterstützend an meinem Code Schnipsel ein Example statuieren?
Javascript:
setTimeout('funktiondieausgefuehrtwerdensoll();',2000);
Angabe der Zeit in ms. (2000ms = 2sec.)
Grüße,
Felixprogram[/CODE]
 
Zuletzt bearbeitet:
Da Javascript ja eine Scriptsprache ist und alles nacheinander erfolgt, schau dir deinen Code doch mal genau an.
Es wird ein Eventlistener gesetzt, der bei einem Keypress-Event anspringt.
Danach wird kontrolliert, welcher Key gedrückt wird.
Eine if-Abfrage wird gemacht und sofern der gedrückte Key dem richtigen entspricht, wird das Fenster geschlossen.
Wo würde es also Sinn machen die setTimeout-Funktion zu setzen?

Edit:
setTimeout('funktiondieausgefuehrtwerdensoll();',2000); Angabe der Zeit in ms.
Grüße,
Felixprogram
Die Arbeit wurde dir dann wohl gerade (blöderweise) abgenommen.
 
Ich bekomme das mit meinem Code Schnipsel immer noch nicht gebacken. Die Taste wird gedrückt und dadurch wird eine Fancy Box geöffnet. Die soll nach 30 Sekunden wieder schliessen. So funktioniert es aber nicht!?
Code:
        $(document).keydown(function(e) {
           if (e.ctrlKey && e.shiftKey && e.keyCode === 57) {
               setTimeout(window.location.href='dienstag.htm#gallery';30000)
          }
       
        });
 
setTimeout('funktiondieausgefuehrtwerdensoll();',2000);
Die ' ' und das , zwischen Code und Zeit sind wichtig, da es sonst nicht funktioniert. Ich würde den Code aber zusätzlich noch auslagern und von da aufrufen
Javascript:
$(document).keydown(function(e) {
  if (e.ctrlKey && e.shiftKey && e.keyCode === 57) {
    setTimeout('sendtosite();',30000);
  }
});
function sendtosite(){
  document.location='dienstag.htm#gallery';
}
oder ohne eigene Funktion dafür:
Javascript:
$(document).keydown(function(e) {
  if (e.ctrlKey && e.shiftKey && e.keyCode === 57) {
    setTimeout('window.location.href=\'dienstag.htm#gallery\';',30000);
  }
});
Ich hoffe, ich konnte dir helfen.
Grüße,
Felixprogram
 
Zuletzt bearbeitet:
Hallo Felixprogram
Vielen Dank für deine Erklärungen.
Jetzt ist es so, dass die Box erst nach 30 Sekunden geöffnet wird. Sie sollte aber sofort öffnen und nach 30 Sekunden automatisch schliessen.
 
OK ich habs

Code:
 $(document).keydown(function(e) {
           if (e.ctrlKey && e.shiftKey && e.keyCode === 57) {
               window.location.href='dienstag.htm#gallery';
          }
      
        });            
            
          $(document).keydown(function(e) {
              if (e.ctrlKey && e.shiftKey && e.keyCode === 57) {
                  setTimeout('sendtosite();',30000);
              }
          });
            
            
            function sendtosite(){
                document.location='home/';
            }
Zuerst öffnet mit der Tastenkombination die Fanc Box und gelichzeitig wird der Timeout mit der gleichen Tastenkombination gestart.

Vielen Dank an alle die geholfen haben!

Gruss
Gunter
 
Vielen Dank für deine Erklärungen.
Jetzt ist es so, dass die Box erst nach 30 Sekunden geöffnet wird. Sie sollte aber sofort öffnen und nach 30 Sekunden automatisch schliessen.
Ja, dies ist so, da du den Code, wie du wahrscheinlich bemerkt hast, da es ja jetzt geht, das Öffnen nach dem Ablauf des Timeouts ausgeführt und nicht den Code zum Schließen. Ich wollte lediglich beim Ansatz helfen. Man soll ja selbst auch noch was tun ;)
Schön, dass du es selbst hinbekommen hast und dass es jetzt klappt. Ich hab gern geholfen :)
Grüße,
Felixprogram
 
Zuletzt bearbeitet:
Zurück
Oben