Bonjour.
En javascript, comment peut-on faire descendre (ou remonter) la barre de défilement verticale d'une hauteur équivalente à une fois la taille de la fenêtre du navigateur ?
Merci.
Bonjour.
En javascript, comment peut-on faire descendre (ou remonter) la barre de défilement verticale d'une hauteur équivalente à une fois la taille de la fenêtre du navigateur ?
Merci.
bonjour,
Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 function position() { var h = document.body.scrollHeight; if (document.compatMode=="CSS1Compat") document.documentElement.scrollTop=h/2; else document.body.scrollTop=h/2; }
fonctionne sous IE9 et FF4 pas testé sur d'autres navigateurs.
Bonjour.
Cette solution ne fonctionne pas chez moi: la fonction position() fait aller la scrollbar à la moitié de la hauteur totale de la page. Alors que je veux qu'elle se décale d'une hauteur égale à celle de la fenêtre du navigateur.
Ce que je voudrais, de manière plus détaillée, c'est :
- Un moyen de tester si la hauteur de la page dépasse celle de la fenêtre du navigateur
- Un moyen de récupérer la hauteur de la fenêtre du navigateur
- Un moyen de faire descendre ou remonter la scrollbar de la valeur que je veux
Merci.
Il faut quand même apprendre à se documenter un peu surtout que j'ai donné une bonne partie de la solution...
Donc voici un script fonctionnel sous IE et FF.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 function position() { var h; if (document.all) // IE h = document.body.clientHeight; else // FF h = window.innerHeight; //alert(h); if (document.compatMode=="CSS1Compat") document.documentElement.scrollTop=h/2; else document.body.scrollTop=h/2; }
Si tu ne veux pas donner la solution complète, libre à toi.
En "me documentant un peu", j'ai trouvé ce que je voulais :
Pour scroller où je veux: window.scrollTo(x, y); en utilisant window.pageYOffset pour récupérer la hauteur de la scrollbar.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 function position() { var bodyH = document.body.scrollHeight; var screenH = self.innerHeight; if (bodyH > screenH) { $('#nav').animate({opacity: '1'}, 200); // faire apparaître la boîte de navigation si la taille du contenu de la page est plus grande que la hauteur de la fenêtre du navigateur } else { $('#nav').animate({opacity: '0'}, 200); } }
Merci quand même pour le début de la solution.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager