2012-01-28 8 views
0

ブラウザが40%スクロールしているときにjquery/ajaxを使用してより多くを取得しています。ajaxクエリがデータを返さないときにdivを変更する方法

ここにクエリスクリプトがあります。

$(document).ready(function(){ 
    var fetching = false; 

     function lastPostFunc() { 
      fetching = true; 
       $('div#loadmorebutton').html('<a>Loading...pls wait</a>'); 
       $.post("loadmore.php?id=1&lastid="+$(".postitem:last").attr("id"), 

     function(data){ 
      if (data != "") { 
        $(".postitem:last").after(data); 
         setTimeout(function(){ 
         fetching = false; 
         },300); 
         $('div#loadmorebutton').empty(); 
        } 
      }); 
     }; 


$(window).scroll(function(){ 
    var bufferzone = $(window).scrollTop() * 0.40; 
    if (!fetching && ($(window).scrollTop() + bufferzone > ($(document).height()- $(window).height()))){ 
    lastPostFunc(); 
    } 
}); 

});

さらに読み込み中のdivは、

<div id="loadmorebutton">Loading...pls wait</div> 

すべてが素晴らしい作品が、それは最後のコンテンツに到達したとき、または、私は「いいえ、より多くのコンテンツをロードする」のようなものに変更し、「ロードは... plsは待機」したい、これ以上のコンテンツ負荷にありません。現時点では、同じ「Loading ... pls wait」のままです。どうしたらいいですか?

NB。次のスクリプトは動作し、「より多くの読み込み」から「読み込めるコンテンツはありません」への変更を行います。このスクリプトを使用していない理由は、画面の下部に到達したときにのみトリガーされ、結果的に2倍の負荷または3倍の時間がかかるためです。コードを組み合わせてみましたが、それでも動作しません。

$(window).scroll(function(){ 
     if($(window).scrollTop() == $(document).height() - $(window).height()){ 
      $('div#loadmorebutton').show(); 
      $.ajax({url: "loadmore.php?id=01&lastid=" + $(".postitem:last").attr("id"), 
     success: function(html){ 
        if(html){ 
         $("#postswrapper").append(html); 
         $('div#loadmorebutton').hide(); 
        }else{ 
         $('div#loadmorebutton').html('<a>No more posts to show.</a>'); 
        } 
       } 
      }); 
     } 
    }); 

答えて

0

これ以上のコンテンツがない場合は、サーバーからメッセージが届きます。このServer codesをご覧ください。あなたがそれを取得したら、それに基づいてメッセージを設定できるはずです。 AJAXの実行時には、完全な設定を確認してください。ここで( 'jqXHR、textStatus)'これを探してください:AJAX propertiesメッセージを返す必要があります、ルールを設定し、DOMを更新することができます。

+0

Thanx Cool。私はプログラマーではない、デザイナーはただのスクリプトを手に入れようとしている。誰かが私がしたいことをするために上記のスクリプトを編集できるようにしてください。 –

関連する問題