Derniers tutoriels de développement web
 

HTML DOM scrollTop Propery

<Object Élément

Exemple

Obtenir le nombre de pixels le contenu d'un <div> élément défile horizontalement et verticalement:

var elmnt = document.getElementById("myDIV");
var x = elmnt.scrollLeft;
var y = elmnt.scrollTop;
Essayez vous - même »

Plus "Try it Yourself" - "Try it Yourself" exemples ci - dessous.


Définition et utilisation

Les ensembles de propriétés scrollTop ou retourne le nombre de pixels contenu d'un élément défile verticalement.

Conseil: Utiliser la scrollLeft propriété pour définir ou renvoyer le nombre de pixels contenu d'un élément défile horizontalement.

Astuce: Pour ajouter des barres de défilement à un élément, utilisez le CSS overflow propriété.

Astuce: Le onscroll événement se produit lorsque est défilée la barre de défilement d'un élément.


Support du navigateur

Propriété
scrollTop Oui Oui Oui Oui Oui

Syntaxe

Retour la propriété scrollTop:

element .scrollTop

Définissez la propriété scrollTop:

element .scrollTop= pixels

Valeurs de propriété

Valeur La description
pixels Indique le nombre de pixels du contenu de l'élément défile verticalement.

Notes spéciales:
  • Si le nombre est une valeur négative, le nombre est réglé sur "0"
  • Si l'élément ne peut être défilée, le nombre est réglé sur "0"
  • Si le nombre est supérieur au montant de défilement maximale autorisée, le nombre est fixé au nombre maximal

Détails techniques

Valeur de retour: Un nombre, représentant le nombre de pixels que le contenu de l'élément a été fait défiler verticalement

Exemples

autres exemples

Exemple

Faire défiler le contenu d'un <div> élément 50 pixels horizontalement et verticalement 10 pixels:

var elmnt = document.getElementById("myDIV");
elmnt.scrollLeft = 50;
elmnt.scrollTop = 10;
Essayez vous - même »

Exemple

Faire défiler le contenu d'un <div> élément de 50 pixels horizontalement et verticalement 10 pixels:

var elmnt = document.getElementById("myDIV");
elmnt.scrollLeft += 50;
elmnt.scrollTop += 10;
Essayez vous - même »

Exemple

Faire défiler le contenu de <body> de 30 pixels horizontalement et verticalement 10 pixels:

var body = document.body; // For Chrome, Safari and Opera
var html = document.documentElement; // Firefox and IE places the overflow at the <html> level, unless else is specified. Therefore, we use the documentElement property for these two browsers
body.scrollLeft += 30;
body.scrollTop += 10;
html.scrollLeft += 30;
html.scrollTop += 10;
Essayez vous - même »

Exemple

Bascule entre les noms de classe sur différentes positions de défilement - Lorsque l'utilisateur fait défiler vers le bas de 50 pixels à partir du haut de la page, le nom de la classe "test" seront ajoutés à un élément (and removed when scrolled up again) à (and removed when scrolled up again) le (and removed when scrolled up again) .

window.onscroll = function() {myFunction()};

function myFunction() {
    if (document.body.scrollTop > 50 || document.documentElement.scrollTop > 50) {
        document.getElementById("myP").className = "test";
    } else {
        document.getElementById("myP").className = "";
    }
}
Essayez vous - même »

Exemple

Coulisser dans un élément lorsque l'utilisateur a fait défiler vers le bas 350 pixels à partir du haut de la page (add the slideUp class) :

window.onscroll = function() {myFunction()};

function myFunction() {
    if (document.body.scrollTop > 350 || document.documentElement.scrollTop > 350) {
        document.getElementById("myImg").className = "slideUp";
}
Essayez vous - même »

Exemple

Dessiner un triangle défilement:

<!-- Use SVG to draw the triangle (has to be <path>) -->
<svg id="mySVG">
  <path fill="none" stroke="red" stroke-width="3" id="triangle" d="M150 0 L75 200 L225 200 Z">
</svg>

<script>
// Get the id of the <path> element and the length of <path>
var triangle = document.getElementById("triangle");
var length = triangle.getTotalLength();

// The start position of the drawing
triangle.style.strokeDasharray = length;

// Hide the triangle by offsetting dash. Remove this line to show the triangle before scroll draw
triangle.style.strokeDashoffset = length;

// Find scroll percentage on scroll (using cross-browser properties), and offset dash same amount as percentage scrolled
window.addEventListener("scroll", myFunction);

function myFunction() {
    var scrollpercent = (document.body.scrollTop + document.documentElement.scrollTop) / (document.documentElement.scrollHeight - document.documentElement.clientHeight);

    var draw = length * scrollpercent;

    // Reverse the drawing (when scrolling upwards)
    triangle.style.strokeDashoffset = length - draw;
}
</script>
Essayez vous - même »


<Object Élément