You are not Logged in
Would you like to Login or Register

Today is: 09 February 2012
Check this months hot topics

The following code will return the top and left position for an element.

var ns4 = (navigator.appName.indexOf("Netscape")>=0 
          && parseFloat(navigator.appVersion) >= 4 
          && parseFloat(navigator.appVersion) < 5)? true : false;
var ns6 = (parseFloat(navigator.appVersion) >= 5 
          && navigator.appName.indexOf("Netscape")>=0 )? truefalse;
var ns = (document.layers)? true:false;
var ie = (document.all)? true:false;

function getElLeft(el) {
    if (ns4) {return el.pageX;} 
    else {
        xPos = el.offsetLeft;
        tempEl = el.offsetParent;
        while (tempEl != null) {
            xPos += tempEl.offsetLeft;
              tempEl = tempEl.offsetParent;
        }
        return xPos;
    }
}
function getElTop(el) {
    if (ns4) {return el.pageY;} 
    else {
        yPos = el.offsetTop;
        tempEl = el.offsetParent;
        while (tempEl != null) {
            yPos += tempEl.offsetTop;
              tempEl = tempEl.offsetParent;
        }
        return yPos;
    }
}

kick it on DotNetKicks.com del.icio.us digg Mister Wong YahooMyWeb Reddit Furl Spurl blogmarks
Paul Hayman Skype
Author : Paul Hayman
Published : 17 March 2008

Paul is the COO of kwiboo ltd consultant and has more than a decade of IT consultancy experience. He has consulted for a number of blue chip companies and has been exposed to the folowing sectors: Utilities, Telecommunications, Insurance, Media, Investment Banking, Leisure, Legal, CRM, Pharmaceuticals, Interactive Gaming, Mobile Communications, Online Services. Paul is the COO and co-founder of kwiboo (http://www.kwiboo.com/) and is also the creator of GeekZilla.

Comments

yashman said:

Hi Paul,

Thanks for the script. With this script I am trying to set the position of the layer just below the button and with the help of your script it works in IE but not in Chrome and other browsers.

Basically I have a button and I want to show the layer right below the button. I am using the

intBtnHeight = document.getElementById("btnStudents").clientHeight; to get the height and setting the layer accordingly.

what could I missing in this to make it cross browser compatible.

August 15, 2011 - 12:18 PM

Add Comment

Enter your comment below and it will be submitted for moderation.

Your Name

Add Tag

Please enter tags for this article, seperated by semi-colon ;

View Tag's by : # articles | # views

More Publications

Custom Validators using Client Side JavaScript
Paul Marshall - 02/11/2007
Geting the position of the mouse pointer (cursor) in JavaScript (Works in IE7)
Paul Hayman - 03/04/2008
TAB inside input boxes
Barrington Haynes - 13/06/2006
Image reflection the easy way!
Andrew Clark - 05/04/2007
Not using Google Analytics? You should be!
Paul Marshall - 23/08/2006