会話画面では、読み込みにはカウンターを表示し、メッセージはスクロールダウンする必要があります。合計で15のメッセージがあったとしますが、今ブラウザでは6しか表示されていないとします。 9つのメッセージが下に隠されているので、カウンターに9が表示されるはずです。しかし、上下にスクロールすると、それに応じて目に見えるメッセージと隠されたメッセージが変化します。jQueryを使用してスクロールの下に隠れているメッセージの数を表示する方法は?
function isScrolledIntoView(elem) {
var $elem = $(elem);
var $window = $(window);
var docViewTop = $window.scrollTop();
var docViewBottom = docViewTop + $window.height();
var elemTop = $elem.offset().top;
var elemBottom = elemTop + $elem.height();
return ((elemBottom <= docViewBottom) && (elemTop >= docViewTop));
}
var message = $('#messages');
$(window).scroll(function() {
if (isScrolledIntoView('#hiddenElem')) {
message.text("Visible");
} else {
message.text("Invisible");
}
});
チェックコードはthis JS Fiddleです。隠された要素や目に見える要素を表示するために書かれたJavaScriptコード。
(。$( 'MSG ')(である "可視")){ のアラート($('。MSG')。長さ) }これは目に見えるものをすべて表示します。親divと高さを指定できますか? –
私のフィドルで更新できますか? – Leo
申し訳ありませんが、私は36が総メッセージを意味していることを示しています。私は画面の下にある目に見えないメッセージだけを表示する必要があります – Leo