Ich möchte erkennen, ob der Benutzer zum oberen Rand einer Webseite scrollt, wenn er bereits oben ist. Das bedeutet, dass normales Scrollen keine Aktion auslösen soll, nur wenn sich die Scrollleiste oben befindet und der Benutzer weiter nach oben scrollt, tut es etwas.Erkennen Scrollen oben auf der Webseite mit Javascript
Ich habe versucht mit dem Code unten, aber es löst aus, wenn der Benutzer oben ankommt und nicht, wenn er es "überstreift". Here ist die jsfiddle.
window.onscroll = function(ev) {
if ((window.innerHeight + window.scrollY) ==window.innerHeight) {
alert("The action");
}
document.getElementById('a').innerHTML= window.scrollY+";"+window.innerHeight+";"+(window.innerHeight+ + window.scrollY);
};
p{
position: fixed;
}
<br>
<br><br>
<br>
<p id="a">sdf
</p>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
Was jetzt ist es nicht tun? Verwenden Sie auch console.log anstelle der Warnung, um den Bildlauf nicht zu unterbrechen. – mplungjan
Wenn der Benutzer oben ist und nach oben scrollt, löst er nicht – Gehtnet
aus Und wenn Sie || testen scrollY == 0? – mplungjan