この JavaScript 関数を使用して、無限スクロール機能を備えた JSP ページを作成しています。
<script language="javascript" type="text/javascript">
var count = 0;
window.onload = loadSubPage;
$(window).scroll(function(){
if ($(window).scrollTop() == $(document).height() - $(window).height()){
alert("load appLeadershipSubView function calling");
loadSubPage();
}
});
function loadSubPage()
{
alert("load appLeadershipSubView called");
$.ajax({
cache: false,
url: 'appLeadershipSubView.do?count=' + count,
async : true,
beforeSend: function(){
},
success: function(html){
alert("success event");
$('#mainDiv').append(html);
count++;
},
complete: function(){
}
}
);
}
</script>
ご覧のとおり、ページ内のloadSubPage
html コンテンツを に追加する関数を呼び出しています。また、ページの Load イベントでも呼び出されます。appLeadershipSubView
#mainDiv
loadSubPage
問題は、下にスクロールすると、loadSubPage
関数が複数回 (2 回、場合によっては 3 回) 呼び出され、重複したデータが div に追加されることです。
私はJSPとJavascriptが初めてなので、ここで問題を理解できませんでした。ここの問題点を教えてください。