ブラウザが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>');
}
}
});
}
});
Thanx Cool。私はプログラマーではない、デザイナーはただのスクリプトを手に入れようとしている。誰かが私がしたいことをするために上記のスクリプトを編集できるようにしてください。 –