こんにちはみんな私は次のコードを持っています
$.ajax({
url: "http://localhost/twee/chat/getnumcom",
type: 'POST',
data: form_data,
success: function(html) {
var data = parseInt(html);
page = 20 * data ;
while ( counter < page ) {
$.get("http://localhost/twee/chat/"+id+"/"+counter,function(data){
$('#c').append($(data).find('#c').html());
});
counter = counter + 20 ;
}
}
});
alert($('#600').length);
$.scrollTo('#600');
これはそれがすることです。もともとは、#600が見つかるまでウィンドウにデータを追加します。技術的には、600がどこにあるべきかを数学的に計算する関数があります。これは問題なく、divが適切にロードされます。
ただし、divがロードされているかどうかを確認するためにアラートを追加しました。値0はいいえを意味し、値1ははいを意味します。私のfirebugコンソールでは、関数が起動されたとき、whileループはまだ実行されていますが、アラートにはすでに値0が表示されています。その結果、スクロールは実行されません。
実行直後に関数を再起動すると、divがロードされたことを意味する1が表示されます。
whileループが実行されるまでスクロール機能を遅らせる方法はありますか?コードは手続き的に実行され、すべてのデータが読み込まれた後にアラートが表示されるといつも思っていました。
タイマーはオプションだと思いますが、使いたくありません。タイマーをどのミリ秒に設定すればよいのかよくわかりません。