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 peusurtout 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.
Partager