views:

25

answers:

3

How can I get position of an element based on view? So as viewer scroll I get different values.

jQuery is prefered.

+1  A: 

Do you mean relative to the viewable window?

If so, you can use something like this:

 $("#element").offset().top - $(window).scrollTop()

That will return a positive number until it is scrolled off the window, at which point it will return a negative number.

Andrew M
Good guess!! :)
Trufa
A: 

Maybe something like this?

(jQuery)

var pos = $('#button_id').position();
alert("POSITION: \nLeft: "+pos.left + "\nTop: " + pos.top);

Source:

http://blog.ekini.net/2009/01/30/jquery-find-position-the-exact-position-of-an-element-in-the-browser-window/

Good luck, if you edit your question maybe I´ll be able to helo you better

Trufa
+1  A: 
$(function() {
    $(window).scroll(function() {

        var pos = $('#button_id').offset(),
            top = pos.top - $(window).scrollTop(),
            lft = pos.left - $(window).scrollLeft();

        $("#where").html("Top: " + top + "\nLeft: " + lft);
    });   
});

Try it out with this jsFiddle

HTML something like the following:

<div id="button_id">Button ID</div>
<div id="where"></div>
Peter Ajtai
Boom. Spot on!!
Marko
Awesome. Thanks.
Jon Doe