March 15, 2012

jQuery Auto Scroll to DIV ID

Question by H. Ferrence

I have a div id a third of the way down a web page

HTML

<div id="scrollHere"></div>

JavaScript

    <script>
$(document).ready(function(){

var elem = $('#scrollHere');
if(elem) {
    $(window).scrollTop(elem.offset().top).scrollLeft(elem.offset().left);
}

/*
var destination = $('#scrollHere').offset().top;
    $("html:not(:animated),body:not(:animated)").animate({ scrollTop: destination-75}, 800 );
    return false;
*/
/*
var elem = $('#scrollHere');
if(elem) {

$(window).scrollTop(elem.offset().top).scrollLeft(elem.offset().left);
    //$('html').scrollTop(elem.offset().top);
    //$('html').scrollLeft(elem.offset().left);
}
*/


/*
    var elem = $('#scrollHere');
    if(elem) {
        //$.scrollTo(elem.left, elem.top);
        //$(document).stop().scrollTo( elem.offset().left, elem.offset().top );
    }
*/

}); // end .ready()
    </script>

CSS

#scrollHere{
    position:relative;
    top:500px;
    left:1000px;
    border:1px solid black;
    width:50px;
    height:50px;
}

But I can’t get autoscroll to take me to the div id on page refresh.

Am I using the wrong JavaScript commands?

Answer by Starx

The most efficient way to achieving this by changing the scrollTop and scrollLeft of the DOM window.

$(window).scrollTop(elem.offset().top).scrollLeft(elem.offset().left);

Demo

Author: Nabin Nepal (Starx)

Hello, I am Nabin Nepal and you can call me Starx. This is my blog where write about my life and my involvements. I am a Software Developer, A Cyclist and a Realist. I hope you will find my blog interesting. Follow me on Google+

...

Please fill the form - I will response as fast as I can!