2017-07-26 2 views
2

私のforループに何か問題があります。私のウェブサイトのイベントが初めて起動されたとき、私は何の反応も得ません。それはその後毎回意図どおりに動作します。私はforループで数値をチューニングしようとしましたが、間違いを探していましたが、私が試したものまででした。それはそのままで動作します。完全なアプリケーションのためのJQueryのクリック1は何もしません

:あなたのアヤックスは、変数を参照するために値をプッシュする前にhttps://codepen.io/xcidis/full/KvKVZb/

var reference = []; 

function random() { 
    $.ajax({ 
     url: "https://api.forismatic.com/api/1.0/?", 
     dataType: "jsonp", 
     data: "method=getQuote&format=jsonp&lang=en&jsonp=?", 
     success: function(quote) { 
     reference.push([quote.quoteText + "<br/><br/><br/><div align='right'>~" + quote.quoteAuthor + "</div>"]); 
     } 
    }); 
} 

$("button").click(function(){ 
    random(); 
    for(i=0;i<4; i++){ 
    if(reference[reference.length-1] == undefined){continue}else{ 
    var boxes = $("<div id='boxes'></div>").html("<p>" + reference[reference.length-1] + "</p>"); 
    $('body').append(boxes); 
     break; 
    }; 
    }; 
}); 
+1

redererを実行するためにいくつかのヒントを使用することができますいずれか

https://www.w3schools.com/xml/ajax_intro.asp

は私の最初の時間を働きました。 – Andy

+0

これは、リファレンス[0]が最初の行であることと関係しています。私のAjax関数random()を実行すると、私のjqueryの前にそれは意図して動作します。 –

答えて

1

コードのあなたの残りが走りました。あなたは、AJAX以内にあなたのページのレンダリングコードを入れたり、同期

$("button").click(function(){ 
    $.when( $.ajax({ 
     url: "https://api.forismatic.com/api/1.0/?", 
     dataType: "jsonp", 
     data: "method=getQuote&format=jsonp&lang=en&jsonp=?", 
     success: function(quote) { 
     reference.push([quote.quoteText + "<br/><br/><br/><div class='tweet' align='left'></div><div align='right'>~" + quote.quoteAuthor + "</div>"]); 
     } 
    })).then(function() { 
     console.log(reference) 
     for(i=0;i<4; i++){ 
     if(reference[reference.length-1] == undefined){continue}else{ 
     var boxes = $("<div id='boxes'></div>").html("<p>" + reference[reference.length-1] + "</p>"); 
     $('body').append(boxes); 
      break; 
     }; 
     }; 
    });  
    }); 
関連する問題