Nella scorsa lezione, abbiamo visto come recuperare la posizione di un elemento. In questa lezione, invece, vediamo come recuperare la posizione della barra di scorrimento e come scorrere gli elementi della pagina o la pagina fino ad una posizione specifica.
I metodi .scrollLeft()
e .scrollTop()
permettono di scorrere fino ad una posizione specifica nella pagina o in un elemento "scorrevole". .scrollLeft()
permette di scorrere da sinistra verso destra del numero dei pixel indicati, .scrollTop()
dall'alto verso il basso del numero dei pixel selezionati.
Sintassi dei metodi:
$(
selettore).scrollLeft()
e $(
selettore).scrollTop()
.$(
selettore).scrollLeft(
valore)
e $(
selettore).scrollTop(
valore)
. Il valore deve essere un numero, che corrisponde ai pixel di scorrimento.Vediamo come recuperare la posizione della barra di scorrimento:
<div style="width:100px;height:100px;border:1px solid black;overflow:auto;font-size:20px">
Un testo con parole lunghissime: ambarabaciccicocotrecivettesulcomochefacevanolamoreconlafiglia<br>
Un testo con parole lunghissime: ambarabaciccicocotrecivettesulcomochefacevanolamoreconlafiglia<br>
Un testo con parole lunghissime: ambarabaciccicocotrecivettesulcomochefacevanolamoreconlafiglia
</div>
<button id="btn">La posizione della barra di scorrimento</button>
<script>
$("#btn").click(function(){
alert("Da sinistra: "+ $("div").scrollLeft() +"px");
alert("Dall'alto: "+ $("div").scrollTop() +"px");
});
</script>
Nell'esempio, utilizziamo un evento di click per far si che, quando l'utente clicca, la funzione viene eseguita (muovi la barra di scorrimento e clicca sul pulsante per capire il funzionamento).
Vediamo ora come scorrere nel <div>
:
<div style="width:100px;height:100px;border:1px solid black;overflow:auto;font-size:20px">
Un testo con parole lunghissime: ambarabaciccicocotrecivettesulcomochefacevanolamoreconlafiglia<br>
Un testo con parole lunghissime: ambarabaciccicocotrecivettesulcomochefacevanolamoreconlafiglia<br>
Un testo con parole lunghissime: ambarabaciccicocotrecivettesulcomochefacevanolamoreconlafiglia
</div>
<button id="btn">Scorri a 100px in basso e 100px a destra</button>
<script>
$("#btn").click(function(){
$("div").scrollLeft(100);
$("div").scrollTop(100);
});
</script>
Per scorrere nella pagina, puoi utilizzare sempre .scrollLeft()
e .scrollTop()
, ma usare document
come selettore. Vediamo un esempio per capire:
<div style="width:1000px;height:2000px;border:1px solid black;overflow:auto;font-size:20px">
Un testo con parole lunghissime: ambarabaciccicocotrecivettesulcomochefacevanolamoreconlafiglia<br>
Un testo con parole lunghissime: ambarabaciccicocotrecivettesulcomochefacevanolamoreconlafiglia<br>
Un testo con parole lunghissime: ambarabaciccicocotrecivettesulcomochefacevanolamoreconlafiglia
</div>
<button id="btn">Scorri a 500px in basso e 500px a destra</button>
<script>
$("#btn").click(function(){
$(document).scrollLeft(500);
$(document).scrollTop(500);
});
</script>