facebox über JavaScript aufrufen

v0llmilch

Grünschnabel
Juten Abend!

Ich nutze die facebox von ( FACEBOX ) http://defunkt.io/facebox/. Normalerweise wird diese per link aufgerufen

HTML:
<a href="#message" rel="facebox">testlink</a>

<div id="message">Bockwurst</div>

Wie kann ich die facebox aufrufen ohne dabei einen Link zu aktivieren. Genauer, ich führe per JS ein php-Skript aus


Code:
 $(function() 
  {
    (
      function update_data()
      {
        $.getJSON('alpha.php', 
                  function(data) 
                  {
					
                    $.each(data,function(k,v){$('#'+k).text(v)});
                    setTimeout(update_data, 1000);
                  });
      })();
	  
  });

alpha.php gibt gibt einen Wert 1 oder 2 zurück.


Wenn 1 dann soll einfach nix passieren. Wenn 2, dann möchte ich gerne die facebox öffnen.

Ist das überhaupt möglich? Wenn ja wie?

Gruß
 
Ah super!
So geht's also :)

Wie im obigen JavasScript Code gezeigt, hole ich mir Daten per JSON und gebe sie dann in einem DIV aus.

Wie kann ich jetzt diese Daten also Bsp. einen Status in dem Code auswerten? Bei unterschiedlichen Status sollen unterschiedliche Sachen passieren.

Ich habe Probleme, meinen bisherigen Code mit einer If / Else Anweisung zu erweitern.

Code:
if ($(this).val() == 1) {
   
   	    jQuery.box({ 
		  div: '#no_data' 
		  
		});
   
}else if ($(this).val() == 2) {

   	    jQuery.box({ 
		  div: '#load_new_data' 
		  
		});

}
 
Ne das war mein Versuch eine IF Anweisung zu schreiben.

Der Code soll in

Code:
 $(function() 
  {
    (
      function update_data()
      {
        $.getJSON('alpha.php', 
                  function(data) 
                  {
                    
                    $.each(data,function(k,v){$('#'+k).text(v)});
                    setTimeout(update_data, 1000);
                  });
      })();
      
  });

integriert werden damit ich dann beispielsweise die Facebox aufrufen kann.

<div id="status"></div> gibt beim Aufruf der Seite den Wert 1 oder 2 aus. Nur ich muss ja irgendwie die Werte in function update_data aufrufen um dann dort auch die if else anweisung unterzubringen oder? Ich weiss nicht wie ich den Status innerhalb des Java Scripts aufrufen kann.
 
Zuletzt bearbeitet:
Entweder du merkst dir global den Wert oder du übergibst ihn der update_data Funktion.

Javascript:
setTimeout(function() {
    update_data('FOOBAR');
}, 1000);
 
Das habe ich jetzt leider noch nicht verstanden. Meine Frage ist ja wie ich mit den Werten, die ich von dem json der PHP Datei bekomme, nun in eine einfache if else Anweisung im jQuery Script packe.

Code:
$.each(data,function(k,v){$('#'+k).text(v)});

Das optische Darstellen per DIV der einzelnen Werte bekomme ich hin. Nur das bringt mir ja nichts da ich mit den "Rohdaten arbeiten" muss
 
Ich verstehe nicht ganz, wo das Problem liegt, daraus eine Abfrage zu machen.

Javascript:
$.each(data,function(k,v){
    if(v == 1) {
        //
    } else {
        //
    }
});
 
Moment, vielleicht müsste ich einmal den PHP Code Zeigen. Vielleicht kann ich es dann etwas besser erklären.

Die PHP Datei erzeugt folgendes:

PHP:
$datastring = array(

	'price'		        =>  $price,
	'title'				=>  $title,
	'img'	 			=>  $img,
	'status'			=>  $status
	
);
echo json_encode($datastring);


v steht ja für price, title, img und status. Wie kann ich nun nur den status für die auswertung ansprechen? price title img möchte ich weiterhin über <div id="title"></div> etc ausgeben.
 
So ersteinmal eine kurze Entschuldigung für die Verwirrung. Habe von dem Arbeitsplatz eines Kollegen gepostet und seinen Namen versehentlich verwendet.

Habe es es nun hinbekommen.

Hier die Lösung


Code:
 $(function() 
  {
    (
      function update_data()
      {
        $.getJSON('alpha.php', 
                  function(data) 
                  {
                    
                    $.each(data,function(k,v){$('#'+k).text(v)});
                    				
                         if(data.status == 1) {	

						 $("#loader").show(1000);

						} else{
						
						 setTimeout(update_data, 1000);
						
						}
                  });
      })();
      
  });
 

Neue Beiträge

Zurück