[JavaScript] Hauteur totale de la scrollbar

Fermé
MHH225 Messages postés 529 Date d'inscription samedi 2 février 2008 Statut Membre Dernière intervention 10 juin 2012 - 26 mai 2009 à 22:49
MHH225 Messages postés 529 Date d'inscription samedi 2 février 2008 Statut Membre Dernière intervention 10 juin 2012 - 28 mai 2009 à 15:15
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 1767 Date d'inscription lundi 11 décembre 2000 Statut Membre Dernière intervention 23 décembre 2009 607
27 mai 2009 à 19:11
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 samedi 2 février 2008 Statut Membre Dernière intervention 10 juin 2012 46
28 mai 2009 à 15:15
Donc scrollHeight renverrai la hauteur totale de l'ascenseur ? Ok merci beaucoup !
0