私はjsFiddleでこの例に従ってきました: http://jsfiddle.net/jackdent/gRzPF/12/
...ユーザーが現在表示されているコンテンツの最後に到達したときに、さらにコンテンツを自動的にロードします。残念ながら、この例は、CSS で .content div の高さがピクセル単位で設定されている場合にのみ機能するようです。
高さを設定せずに目的の結果を得るにはどうすればよいですか? 1 つのページに大量の情報があり、いくつかのセクションに分割されていますが、ユーザーがスクロールして表示される前に非表示にする必要があります。
無限スクロール プラグインを見てきましたが、すべての例はリモート コンテンツ専用のようです。基本的に同じものが必要ですが、1ページのコンテンツが必要です。私は HTML/CSS しか扱えません。jQuery を挿入して値を少しいじることはできますが、それ以外はひどいものです...
jQuery
//Set intital divs to be hidden
$(".content").addClass("noshow");
var contentNumber = 0;
function reveal() {
var constraintNumber = contentNumber + 6;
//IMPORTANT - DO NOT DELETE
$(window).trigger('resize');
//IMPORTANT - DO NOT DELETE
for (i = contentNumber; i < constraintNumber; i++) {
//Get the nth div of class content, where n is the contentNumber, and make it shown
$('.content').eq(contentNumber).removeClass("noshow");
contentNumber ++;
}
}
//Window scroll function
$(window).scroll(function() {
if ($(window).scrollTop() == $(document).height() - $(window).height() )
{
reveal();
}
});
reveal();
HTML
<div class="content">I have some content</div>
<div class="content">I have some content</div>
<div class="content">I have some content</div>
<div class="content">I have some content</div>
<div class="content">I have some content</div>
<div class="content">I have some content</div>
<div class="content">I have some content</div>
<div class="content">I have some content</div>
<div class="content">I have some content</div>
<div class="content">I have some content</div>
<div class="content">I have some content</div>
<div class="content">I have some content</div>
<div class="content">I have some content</div>
<div class="content">I have some content</div>
<div class="content">I have some content</div>
<div class="content">I have some content</div>
<div class="content">I have some content</div>
<div class="content">I have some content</div>
<div class="content">I have some content</div>
<div class="content">I have some content</div>
<div class="content">I have some content</div>
<div class="content">I have some content</div>
CSS
.content {
margin: 1px;
width: 200px;
height: 400px;
border: 1px solid black;
float: left;
background-color: gray;
}
.noshow{
display: none;
}