2012-06-25 18 views
15

Próbuję znaleźć pionową pozycję paska przewijania jako funkcję podobną do scrollTop jQuery, ale bez jQuery. Czy są jakieś alternatywy?Znaleźć pionowe położenie paska przewijania bez jQuery

+0

Czy nie [element.scrollTop] (https://developer.mozilla.org/en/DOM/element.scrollTop) wystarczający? –

+1

wystarczy przeczytać źródło scrollTop jQuery(): https://github.com/jquery/jquery/blob/master/src/offset.js – snies

Odpowiedz

35

rozwiązanie Cross-browser:

var supportPageOffset = window.pageXOffset !== undefined; 
var isCSS1Compat = ((document.compatMode || "") === "CSS1Compat"); 

var scrollLeft = supportPageOffset ? window.pageXOffset : isCSS1Compat ? document.documentElement.scrollLeft : document.body.scrollLeft; 
var scrollTop = supportPageOffset ? window.pageYOffset : isCSS1Compat ? document.documentElement.scrollTop : document.body.scrollTop; 

source

+0

Myślę, że to powinno być zaakceptowane jako odpowiedź. Rozwiązaniem przyjętej odpowiedzi nie jest przeglądarka. – dragn

+0

masz rację, zmiana – ama2

+0

bardzo mała korekcja składni: przecinek na końcu pierwszego wiersza spowoduje błąd - uważaj –

4

scrollX i scrollY .... scrollY jest odpowiednikiem jQuery scrollTop()

6

Tak, pozycja przewijania istnieje w DOM w:

window.scrollY; //for vertical scroll. 

Jak znalazłem to:

  1. W przeglądarce Chrome kliknij prawym przyciskiem myszy i wybierz opcję Sprawdź element.
  2. Znajdź i kliknij przycisk "Pokaż konsolę" (dolny lewy)
  3. W oknie typu konsoli. Przewiń, aby zobaczyć opcje.

-To wyjątkowy przepływ pracy w celu rozwiązania wielu pytań JavaScript.

Widzę window.scrollTo (0) jako opcję przewijania do góry.

+0

Not XBrowser - https://developer.mozilla.org/en-US/ docs/Web/API/Window/scrollY –

Powiązane problemy