scrollTop to active element in a overflow scroll div

html, javascript, jquery

Solution

You need to check `scrollTop()` for the container `#scroll` and add that back to the position() arg.

var $scroll = $('#scroll');

$('p').click(function(e){
    var $this = $(this);
    $scroll.animate({
        "scrollTop": $this.position().top + $scroll.scrollTop()
    }, 1000);
});

http://jsfiddle.net/yCEap/1/

To just get the value:

var value = $('#scroll').scrollTop();

Problem

I have a specific question about `.scrollTop`. I have a `div` with a specific `height` and a lot of p tags inside: ``` <div id="scroll"> <p>name1</p> <p>name2</p> <!-- till name50 --> </div> ``` depending on the name you click it gets a class `.active`. What I then want to do is scroll the div so, that the name is at the top. So what I get is that I can use scrollTop in an animate function like this: ``` $('#scroll').animate({scrollTop: value }); ``` but how can I get the `var value`. I tried it with ``` var value = $('#scroll p').hasClass('active').position().top; ``` But somehow it does not work. Some help is much appreciated.

Original source