tutorials.de Buch-Aktion 05/2012
Like Tree4Danke
  • 1 Beitrag von CPoly
  • 1 Beitrag von CPoly
  • 1 Beitrag von CPoly
  • 1 Beitrag von CPoly
ERLEDIGT
JA
ANTWORTEN
9
ZUGRIFFE
361
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    v0llmilch v0llmilch ist offline Mitglied
    Registriert seit
    Apr 2009
    Beiträge
    15
    Juten Abend!

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

    HTML-Code:
    <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 :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    
     $(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ß
     

  2. #2
    CPoly CPoly ist offline Mitglied Weizenbier
    tutorials.de Premium-User
    Registriert seit
    Sep 2009
    Beiträge
    2.445
    Scroll auf der verlinkten Seite doch mal nach unten zum Abschnitt "Controlling Facebox Programmatically" ...
    v0llmilch bedankt sich. 

  3. #3
    v0llmilch v0llmilch ist offline Mitglied
    Registriert seit
    Apr 2009
    Beiträge
    15
    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 :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    
    if ($(this).val() == 1) {
       
            jQuery.box({ 
              div: '#no_data' 
              
            });
       
    }else if ($(this).val() == 2) {
     
            jQuery.box({ 
              div: '#load_new_data' 
              
            });
     
    }
     

  4. #4
    CPoly CPoly ist offline Mitglied Weizenbier
    tutorials.de Premium-User
    Registriert seit
    Sep 2009
    Beiträge
    2.445
    Wo steht der Code und was ist in dem Bereich "this"?
    v0llmilch bedankt sich. 

  5. #5
    v0llmilch v0llmilch ist offline Mitglied
    Registriert seit
    Apr 2009
    Beiträge
    15
    Ne das war mein Versuch eine IF Anweisung zu schreiben.

    Der Code soll in

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    
     $(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.
    Geändert von v0llmilch (21.11.11 um 22:51 Uhr)
     

  6. #6
    CPoly CPoly ist offline Mitglied Weizenbier
    tutorials.de Premium-User
    Registriert seit
    Sep 2009
    Beiträge
    2.445
    Entweder du merkst dir global den Wert oder du übergibst ihn der update_data Funktion.

    Code javascript:
    1
    2
    3
    
    setTimeout(function() {
        update_data('FOOBAR');
    }, 1000);
    v0llmilch bedankt sich. 

  7. #7
    v0llmilch v0llmilch ist offline Mitglied
    Registriert seit
    Apr 2009
    Beiträge
    15
    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 :
    1
    
    $.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
     

  8. #8
    CPoly CPoly ist offline Mitglied Weizenbier
    tutorials.de Premium-User
    Registriert seit
    Sep 2009
    Beiträge
    2.445
    Ich verstehe nicht ganz, wo das Problem liegt, daraus eine Abfrage zu machen.

    Code javascript:
    1
    2
    3
    4
    5
    6
    7
    
    $.each(data,function(k,v){
        if(v == 1) {
            //
        } else {
            //
        }
    });
    v0llmilch bedankt sich. 

  9. #9
    Avatar von creativeheadz
    creativeheadz creativeheadz ist offline Mitglied Gold
    Registriert seit
    May 2005
    Beiträge
    198
    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-Code:
    $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.
     

  10. #10
    v0llmilch v0llmilch ist offline Mitglied
    Registriert seit
    Apr 2009
    Beiträge
    15
    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 :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    
     
     $(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);
                            
                            }
                      });
          })();
          
      });
     

Ähnliche Themen

  1. Facebox Table in DIV Umwandeln
    Von micronix im Forum CSS
    Antworten: 9
    Letzter Beitrag: 27.09.09, 17:20
  2. Facebox aus iFrame über ganze Seite legen
    Von borsti87 im Forum Javascript & Ajax
    Antworten: 5
    Letzter Beitrag: 21.04.09, 19:44
  3. Javascript aus PHP aufrufen
    Von andy72 im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 07.10.06, 02:18
  4. Css-Klasse über JavaScript aufrufen bzw. ansprechen.
    Von messmar im Forum Javascript & Ajax
    Antworten: 5
    Letzter Beitrag: 14.06.05, 13:16
  5. WICHTIG!word oder txt datei über javaScript aufrufen?
    Von Nigges im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 01.09.04, 14:17