私はあなたのニーズをfullfilます簡単なHTMLを書くの自由を取りました。 私の例では、スクロールはボタンをクリックすることで起こります。あなたのユースケースでそれを変えることができます。お役に立てれば;あなたはあなたが作ることを何かに入れて確認してスクロールのAJAX呼び出しを発射しようとしている場合は、ここでフィドルhttps://jsfiddle.net/39z82axt/
HTML
<div id="wrapper">
<div class="divel">Element 1</div>
<div class="divel">Element 2</div>
<div class="divel">Element 3</div>
<div class="divel">Element 4</div>
<div class="divel">Element 5</div>
</div>
<button id="scrollButton">
Click to Scroll
</button>
CSS
.divel {
height:80px;
}
#wrapper {
height: 100px;
overflow:scroll;
}
JS
let crossedFirstDiv = false,
crossedSecondDiv = false;
document.getElementById('scrollButton').onclick = function() {
document.getElementById("wrapper").scrollTop += 10;
let scrollLocation = scrollPosition("wrapper");
if (scrollLocation > 10 && scrollLocation <20 && crossedFirstDiv == false) {
alert("crossing div 1");
crossedFirstDiv = true;
}
else if (scrollLocation > 20 && scrollLocation <30 && crossedSecondDiv == false) {
crossedSecondDiv = true;
alert("crossing div 2");
}
// and so on..
}
function scrollPosition(elementId) {
let a = document.getElementById(elementId).scrollTop;
let b = document.getElementById(elementId).scrollHeight - document.getElementById(elementId).clientHeight;
let c = a/b;
return Math.floor(c * 100);
}
ですそれ以外の場合は一度だけ発射するたびに、スクロールするたびに何百ものリクエストが発生します。 – Pete