Считывать скролл только с определённого блока
Надо чтобы скролл считывался именно в блоке "second", а не с начала документа и, когда в конце концов посты через ajax будут подгружены, то переходило спокойно на третий блок. Короче говоря надо, чтобы действия происходили только в блоке "second".
<div class="first"></div>
<div class="second">
<div class="post"></div>
</div>
<div class="third"></div>
jQuery(window).on('scroll', onScroll);
function onScroll(){
if (jQuery(window).scrollTop() + 100 + jQuery(window).height() > jQuery(document).height()) {
//ajax
}
}
Ответы (1 шт):
Автор решения: Andrey Maslov
→ Ссылка
<html>
<body>
<div class="first" style="width:100px; height:100px;background-color:#00ff00;overflow:scroll;">
1111111111111111111111111111<br>
1111111111111111111111111111<br>
1111111111111111111111111111<br>
1111111111111111111111111111<br>
1111111111111111111111111111<br>
1111111111111111111111111111<br>
1111111111111111111111111111<br>
1111111111111111111111111111<br>
1111111111111111111111111111<br>
1111111111111111111111111111<br>
</div>
<div class="second" style="width:100px; height:100px;background-color:#ff0000;overflow:scroll;">
1111111111111111111111111111<br>
1111111111111111111111111111<br>
1111111111111111111111111111<br>
1111111111111111111111111111<br>
1111111111111111111111111111<br>
1111111111111111111111111111<br>
1111111111111111111111111111<br>
1111111111111111111111111111<br>
1111111111111111111111111111<br>
1111111111111111111111111111<br>
</div>
<div class="third" style="width:100px; height:100px;background-color:#0000ff;overflow:scroll;">
1111111111111111111111111111<br>
1111111111111111111111111111<br>
1111111111111111111111111111<br>
1111111111111111111111111111<br>
1111111111111111111111111111<br>
1111111111111111111111111111<br>
1111111111111111111111111111<br>
1111111111111111111111111111<br>
1111111111111111111111111111<br>
1111111111111111111111111111<br>
</div>
<script type="text/javascript" src="PATH_TO_JQUERY"></script>
<script language="Javascript">
$(document).ready(function() {
jQuery(".third").on('scroll', onScroll);
function onScroll(evt){
console.log("scroll", evt);
}
});
</script>
</body>
</html>