Comment obtenir le réel de défilement de la hauteur de la div (dire, intérieure taille du texte)

Je suis en train de faire un défilement automatique div qui vont à son sommet lorsqu'il atteint la fin. Mais ça ne fonctionne pas...

function    scrollPannel()
{
    var pannel = document.getElementById('pannel');
    if (typeof scrollPannel.count == 'undefined')
    {
        scrollPannel.count = 0;
    }
    else
    {
        scrollPannel.count += 2;
    }
//trouble is here
    if ((scrollPannel.count - pannel.scrollHeight) > pannel.clientHeight)
    {
        scrollPannel.count = 0;
    }
    pannel.scrollTop = scrollPannel.count;
    setTimeout('scrollPannel()', 500);
}

HTML:

<div id='pannel'  style="height:200px;overflow:auto" onmouseover="sleepScroll()">
    <p>...</p><!-- long text -->
</div>

Et après, je vais devoir trouver comment arrêter le défilement lors de la "onmouseover" se fait.

EDIT: je n'ai pas expliqué clairement le problème. En fait, j'ai essayé quelque chose comme:

if (scrollPannel.count > pannel.scrollHeight)
{
    scrollPannel.count = 0;
}

Le problème est que scrollHeight semble supérieure div intérieure du texte. Donc cela fait beaucoup de temps pour revenir au top.

J'ai donc besoin d'un élément de la propriété de qui je pourrais utiliser la valeur à comparer avec ma variable nombre. Cependant, je ne sais pas Javascript beaucoup et je ne pouvais pas trouver quoi que ce soit. J'espère que c'est aussi simple que je pense à elle.

Quelle est la fonction sleepscroll()?
sleepScroll() est une fonction à mettre en œuvre que je voudrais utiliser pour arrêter le défilement sur l'événement "onmouseover". Dans mon cas, je pense que ce sera un simple clearTimeout ().

OriginalL'auteur kirly | 2013-11-27