2016-07-08 9 views
2

私はフレックススライダーをページとページに使用していますajaxコール他の仕事のために。私の問題は、ユーザーがページをロードするときです。ajaxコールブロックフレックススライダー ajaxリクエストが完了しない限り。完成したajaxリクエストの後、flexスライダが正常にロードされました。もし私がajaxスクリプトを削除すると、flexスライダは非常に高速に読み込まれます。他のjavascriptコードをブロックするAjaxコール

の両方が、このコードの間に書かれたFlexスライダーとAjaxリクエスト...

$(document).ready(function(){ 
    $('#carousel').flexslider({ 
     animation: "slide", 
     controlNav: true, 
     animationLoop: true, 
     slideshow: false, 
     itemWidth: 100, 
     itemMargin: 15,   
     asNavFor: '#slider'   
    }); 

    // Rest code of slider will come here 

    // Ajax code start from here  
    $.ajax({ 
      type: "GET", 
      async:false, 
      url: prefixUrl, 
      success: function(results) { 
        $(results).insertBefore('.event_container'); 
      } 
     }); 

}); 

AJAX呼び出しがフレックススライダーをブロックしないように任意のアイデアを提案してください。

は、あなたの操作が完了し得るまで

+1

ブロックしたくない場合は、asyncをfalseに設定しないでください。 – kinakuta

+0

@ kinakuta#asyncを変更しても機能しない: – anil

+0

コンソールエラー?\ – madalinivascu

答えて

3

非同期falseをお待ちしております、ありがとうございました。

これを試してみてください。

$.ajax({ 
     type: "GET", 
     async:true, 
     url: prefixUrl, 
     success: function(results) { 
       $(results).insertBefore('.event_container'); 
     } 
    }); 

//アップデート2:

実際には、あなたのAjaxはページreadyイベントが完了取得されていない実行されているまでのように、あなたはレディ機能でアヤックスを追加したので、何が起こっています。ドキュメントから削除してみてください。

+0

申し訳ありませんが、すでに私は試しました。動いていない。 – anil

+0

私は新しいコメントを追加しました。試してください。あなたの問題を解決することを望みます。 –

+0

同じことが試されました。 – anil

0

ポストバック操作を取得しないように、asyncのように記述したコードでは、同期ajax呼び出しにつながるfalseを使用します。同期Ajaxコールを使用すると、前のリクエストに対する応答が得られるまで停止/ブロックできます。したがって、これを試してください:

$.ajax({ 
    type: "GET", 
    url: yourURL, 
    success: function(results) { 
      $(results).insertBefore('.event_container'); 
    }, 
    async:true 
}); 
+0

asyncを変更する:本当に速いですが、もう一度ajaxリクエストが完了した後にフレックススライダのロードが繰り返されます。 フレックススライダとajaxコールが互いに依存しないように他のオプションはありますか? – anil

関連する問題