[JavaScript] Hauteur totale de la scrollbar

MHH225 Messages postés 529 Date d'inscription   Statut Membre Dernière intervention   -  
MHH225 Messages postés 529 Date d'inscription   Statut Membre Dernière intervention   -
Salut,

Pour faire court :
Y a-t-il moyen de récupérer la hauteur totale de la scrollbar d'un div ?

Pour les plus curieux (ou audacieux... :D ), voici le problème entier :


Je fait un script pour prévisualiser le texte entré dans un formulaire, et j'essaie de trouver la hauteur totale de la scrollbar du textarea et de celle du div de prévisualisation pour faire une rapport et repositionner le scroll du div de prévisualisation...

Pour ceux qui n'auraient pas compris (càd tout le monde :P ), voici mon script de repositionnement de la scrollbar du div de prévisualisation :

----------
function scrollPosition(scrollText, totalScrollText, totalScrollPreview) {

scrollPreview = (scrollText * totalScrollPreview) / totalScrollText;

return scrollPreview;

}
----------


ou en version moins condensée...


----------
function scrollPosition(scrollText, totalScrollText, totalScrollPreview) {

rapport = scrollText / totalScrollText; //On calcul le rapport de position du scroll du textarea en fonction de sa hauteur totale

scrollPreview = totalScrollPreview * rapport; //Puis on l'applique au bloc de prévisualisation en fonctio nde sa hauteur totale


return scrollPreview;

}
----------

Merci ;-) !

NB : on parle ici d'un bloc de prévisualisation qui a une hauteur maximale fixe...

NB2 : toute autre solution proposée au problème de positionnement du scrollbar sera accueillie avec joie. A noter tout de même : la réponse à la question est tout de même souhaitée, si du moins elle existe ^^ !

2 réponses

PhP Messages postés 1770 Date d'inscription   Statut Membre Dernière intervention   606
 
Bsr
je vois pas trop ce que tu veux faire ...

Pour récupérer la hauteur du scroll d'un div et l'offset (valeur déjà scrollée ) tu peux faire comme ceci

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
	<title>DIV</title>
	<style>
	    *
		{
			margin : 0px;
			border : 10px;
			padding : 0px;
			
		}
				
		#conteneur
		{
			top : 300px;
			left : 100px;
			height : 200px;
			width : 300px;
			background-color : #ff0000;		
			overflow : auto;
			padding-bottom : 50px;

		}
		
		#conteneur img
		{
			display : block;
		}	
	</style>		
	
	<script>
		function info()
		{
			var elt = document.getElementById("conteneur");

			alert("tagName = "+elt.tagName+
				"\nid = "+elt.id+
				"\nscrollTop = "+elt.scrollTop+
				"\nscrollHeight = "+elt.scrollHeight);		
		}
	</script>
</head>
<body>
	<input type="button" id="btn" value="info" onclick="info()">
	<div id="conteneur">
		<img src='image_test.jpg' />
	</div>
</body>
</html>


Remplace l'image image_test.jpg par une des tes images ou la balise img par du texte par ex
2
MHH225 Messages postés 529 Date d'inscription   Statut Membre Dernière intervention   46
 
Donc scrollHeight renverrai la hauteur totale de l'ascenseur ? Ok merci beaucoup !
0