scrollTop () gibt 0 in Firefox, aber nicht in Chrome zurück
Nicht sicher ob es eine weitere Frage bezüglich dieses, wenn dem so ist entschuldige ich mich und bitte don ' T lassen Sie die hounds.
Mit dem html5-doctype und tun, eine schnelle Konsole.Abmelden mein scroll Zuhörer, dass sagt mir der Wert von scrollTop () - Wert. Ich bin im Grunde tun dies, damit, wenn ich scrollen Vergangenheit ein Punkt, den ich ändern der Deckkraft eines Elements. Dies mache ich mittels einer MVS-Lösung und ich habe nicht die Fähigkeit, schieben Sie diese auf eine externe Website, so dass Sie Aussehen kann. Hier ein kurzer Ausschnitt:
var opacity = 1;
var scrollTop = $('body').scrollTop();
if (scrollTop > 200) {
opacity = 0.1;
}
$('#element).css('opacity', opacity);
Wenn ich scrollen in Chrome, ich bekomme eine Konsole.log(scrollTop); die Anzeige, was ich will (ie; 100 für jede scroll die ich tun) und mein Deckkraft verschwindet, nachdem ich 200 Treffer scrollTop. Wenn ich scrollen im FF und IE7+ var liefert "0" jedes scrollen. Wenn ich $('body').scrollTop ($('document').scrollTop(); dann bekomme ich eine "null" zurück auf Blättern.
Irgendwelche Ideen?
Danke!
$('document')
sollte $(document)
, nicht sicher, wie das wirkt sich auf deine Frage aber. InformationsquelleAutor der Frage lxndr | 2012-10-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen
var scrollTop = $(document).scrollTop();
InformationsquelleAutor der Antwort jovobe
$(window).scrollTop()
wie erwartet funktioniert in Firefox und Chrome.Für die überprüfung, führen Sie die folgenden jsfiddle in chrome und firefox: http://jsfiddle.net/RBBw5/6/
InformationsquelleAutor der Antwort Andrejs Kuzmins
Nach einiger frustration mit IE9 in den quirks-Modus habe ich gefunden, dass
$('body').scrollTop()
zuverlässig funktioniert im IE9, Chrome 32 und Firefox 26.InformationsquelleAutor der Antwort Boaz
Verwenden var
scrollTop = $('html').scrollTop();
funktioniert für FireFoxMüssen Sie schnuppern die browser aber (ich weiß, feature-Erkennung, nicht riechen, aber Sie können nicht erkennen), denn es funktioniert nicht in Chrome, versuchen Sie es hier :
Am einfachsten/Leichtesten Ersatz Für die Browser-Erkennung jQuery 1.9?
InformationsquelleAutor der Antwort Matt Robinson