Ich habe ein Webdokument mit Bildlauf. Ich möchte den Wert der aktuellen Bildlaufposition in Pixel erhalten. Wenn ich die folgende Funktion ausführe, wird der Wert Null zurückgegeben. Wie kann ich das machen?
<script type="text/javascript" src="js/jquery-1.7.2.js"></script>
<script type="text/javascript" src="js/jquery.mousewheel.min.js"></script>
<script type="text/javascript">
$(function (){
$('#Eframe').on("mousewheel", function() {
alert(document.body.scrollDown)
}
})
</script>
javascript
jquery
Carlos
quelle
quelle
Antworten:
Da Sie anscheinend jQuery verwenden, finden Sie hier eine jQuery-Lösung.
$(function() { $('#Eframe').on("mousewheel", function() { alert($(document).scrollTop()); }); });
Hier gibt es nicht viel zu erklären. Wenn Sie möchten, finden Sie hier die jQuery-Dokumentation .
quelle
<div id="foo">...
, wäre die Syntax$("#foo").scrollTop()
.Es ist besser zu verwenden
$(window).scroll()
als$('#Eframe').on("mousewheel")
$('#Eframe').on("mousewheel")
wird nicht ausgelöst, wenn Benutzer manuell mit den Aufwärts- und Abwärtspfeilen in der Bildlaufleiste scrollen oder die Bildlaufleiste selbst greifen und ziehen.$(window).scroll(function(){ var scrollPos = $(document).scrollTop(); console.log(scrollPos); });
Wenn
#Eframe
ein Element mitoverflow:scroll
darauf ist und Sie möchten, dass es die Bildlaufposition ist. Ich denke, das sollte funktionieren (ich habe es aber nicht getestet).$('#Eframe').scroll(function(){ var scrollPos = $('#Eframe').scrollTop(); console.log(scrollPos); });
quelle
Reines Javascript kann!
var scrollTop = window.pageYOffset || document.documentElement.scrollTop;
quelle
scrollTop
gibt mir das Scrollen nach der Seitenaktualisierung durch den Browser, was genau das war, was ich wollte