Come posso determinare l'altezza e la posizione di scorrimento della finestra in jQuery?


179

Devo prendere l'altezza della finestra e l'offset di scorrimento in jQuery, ma non ho avuto fortuna a trovarlo nei documenti jQuery o Google.

Sono sicuro al 90% che esiste un modo per accedere all'altezza e scrollTop per un elemento (presumibilmente inclusa la finestra), ma non riesco proprio a trovare il riferimento specifico.


2
Che ne dici di senza jQuery?
Costa

@Costa Probabilmente è stato chiesto altrove su StackOverflow, e in caso contrario merita di essere una sua domanda.
Un pastello

Risposte:


296

Da jQuery Docs:

const height = $(window).height();
const scrollTop = $(window).scrollTop();

http://api.jquery.com/scrollTop/
http://api.jquery.com/height/


1
Figure che mi sono appena perso nei documenti; li ho cercati, ma la loro organizzazione francamente non ha senso per me (penso ancora a Mootools, suppongo). Grazie!
Un pastello il

Questo non funziona in nessun browser per jQuery 1.3.2 anche se apparentemente è stato aggiunto in una versione precedente. O questo o ho qualcosa di sbagliato nel mio codice qui
Philluminati,

11
$ (finestra) .height () fornisce la vista in altezza e non l'altezza di scorrimento. $ (document) .height () fornisce l'altezza di scorrimento reale, come suggerito da Aidamina.
Jonathan

Sono spesso stupito da quanti voti cose semplici come questa attraggono, ma dato che l'ho già visto due volte questa settimana, ne ho un'altra +1
Neil,



6
$(window).height()

$(window).width()

C'è anche un plugin per jquery per determinare la posizione e gli offset degli elementi

http://plugins.jquery.com/project/dimensions

scrolling offset = offsetHeight proprietà di un elemento


1
Grazie Giuseppe Non è esattamente quello che stavo cercando mentre cercavo di evitare di usare un altro plugin, ma mi hai fatto cercare nella giusta direzione. Alla fine, ho scoperto che ciò di cui avevo veramente bisogno era '$ (window) .scrollTop ()' per capire quanta parte della pagina è passata oltre il viewport per adattare gli elementi di conseguenza.
DA.

0

Se è necessario scorrere fino a un punto di un elemento. È possibile utilizzare la funzione Jquery per scorrere su / giù.

$('html, body').animate({
                scrollTop: $("#div1").offset().top
            }, 'slow');
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.