Connaître la hauteur d'une page

WRInaute accro
Bonjour,

Je souhaite afficher dans une colonne latérale d'une page un ou deux blocs verticaux, plutôt hauts. Je ne veux en mettre qu'un pour les pages dont la hauteur (sans bloc), est inférieure strictement à 2 hauteurs de blocs, et deux pour les cas où la page est haute d'au moins 2 blocs. J'ai donc besoin de savoir la hauteur de la page affichée, sans blocs, pour l'afficher selon les cas avec 1 ou 2 blocs. Est-ce possible de faire ça ?

Merci d'avance,

Michaël
 
WRInaute passionné
La hauteur de tes blocs va dépendre de la résolution/taille du navigateur (à moins d'avoir un site a largeur fixe).
Ma solution pour un site :
Tu mets toujours les 2 blocs, avec le 2eme en hidden.
Tu utilises le javascript pour récupérer la hauteur :
if (document.body) iHauteur = (document.body.clientHeight);
else iHauteur = (window.innerHeight);
Tu compare alors cette hauteur avec ton minimum, et si c'est supérieur, tu affiches ton 2eme bloc.
 
WRInaute passionné
Onthisplanet a dit:
Si le javascript est désactivé, seul 1 sera affiché ?

Oui ... mais si tu penses qu'il le faut, tu l'affiche par défaut :) Ou plutot, faut voir avec la balise <noscript> pour mettre tes blocs par défaut.
 
WRInaute accro
arnaudmn a dit:
Tu utilises le javascript pour récupérer la hauteur :
if (document.body) iHauteur = (document.body.clientHeight);
else iHauteur = (window.innerHeight);
en n'oubliant pas que si on a plusieurs barres d'outils, genre outils webmaster pour nous ou barres de recherches installées avec le navigateur pour le grand public (voir les webmasters aussi), ça réduit d'autant la hauteur utilisable
 
WRInaute accro
Je ne suis pas à ça près. Je veux juste éviter de trop allonger une page inutilement.
 
WRInaute impliqué
Salut,

Sauf erreur de ma part, il y a une erreur dans ce raisonnement : si le bloc est présent, même en hidden, sa taille influera sur la hauteur de la page. Pour que ce ne soit pas le cas, il faudrait le mettre en display none.

arnaudmn a dit:
La hauteur de tes blocs va dépendre de la résolution/taille du navigateur (à moins d'avoir un site a largeur fixe).
Ma solution pour un site :
Tu mets toujours les 2 blocs, avec le 2eme en hidden.
Tu utilises le javascript pour récupérer la hauteur :
if (document.body) iHauteur = (document.body.clientHeight);
else iHauteur = (window.innerHeight);
Tu compare alors cette hauteur avec ton minimum, et si c'est supérieur, tu affiches ton 2eme bloc.
 
WRInaute passionné
MarvinLeRouge a dit:
Sauf erreur de ma part, il y a une erreur dans ce raisonnement : si le bloc est présent, même en hidden, sa taille influera sur la hauteur de la page. Pour que ce ne soit pas le cas, il faudrait le mettre en display none.

Tout le monde avait compris .... :)
 
WRInaute accro
euh, cela ne va pas donner la hauteur de la page si il y a barre déroulante, juste la hauteur de la page affichée qui rentre sur l'écran ca, non ?
 
Discussions similaires
Haut