1. 程式人生 > >JS獲取控制元件絕對位置

JS獲取控制元件絕對位置

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <script type="text/javascript">
        // 輸出控制元件位置
        function printPoint(pElement){
            alert("該按鈕位置為:左"+getAbsoluteLeft(pElement.id)+"上"+getAbsoluteTop(pElement.id));
        }

        //獲取控制元件左絕對位置
        function getAbsoluteLeft(pElementId) {
            o = document.getElementById(pElementId);
            oLeft = o.offsetLeft;            
            while(o.offsetParent!=null) { 
                oParent = o.offsetParent;    
                oLeft += oParent.offsetLeft; 
                o = oParent;
            }
            return oLeft;
        }
        //獲取控制元件上絕對位置
        function getAbsoluteTop(pElementId) {
            o = document.getElementById(pElementId);
            oTop = o.offsetTop;
            while(o.offsetParent!=null)
            {  
                oParent = o.offsetParent ;
                oTop += oParent.offsetTop ; // 加父層級頂部位置
                o = oParent ;
            }
            return oTop ;
        }

        
    </script>
</head>

<body>
<div style="text-align:center;margin:0 auto;border:1px solid #000;width:200px;height:200px">
<br>
<input id="button1" type="button"  style="width:125px;height:25px;" value = "檢視該按鈕位置" onclick="printPoint(this)" ></button>
<br>
<br>
<br>
<input id="button2" type="button"  style="width:125px;height:25px;" value = "檢視該按鈕位置" onclick="printPoint(this)" ></button>
<br>
<br>
<br>
<input id="button3" type="button"  style="width:125px;height:25px;" value = "檢視該按鈕位置" onclick="printPoint(this)" ></button>
<br>
</div>
</body>
</html>


相關推薦

JS獲取控制元件絕對位置

<!DOCTYPE html> <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/htm

Android中獲取控制元件位置

getLocationOnScree:計算該檢視在全域性座標系中的x,y值,(注意這個值是要從螢幕頂端算起,也就是索包括了通知欄的高度)//獲取在當前螢幕內的絕對座標 getLocationInWindow :計算該檢視在它所在的widnow的座標x,y值,//獲取在整個視

duilib中獲取控制元件位置或者大小不對的可能的原因

duilib初學者可能總會有這樣的疑問:為什麼我獲取的控制元件位置或者大小和我想象中的不一樣? 位置不一樣可能的原因: 1.xml中直接配置的位置和實際顯示之後的位置確實是不一樣的.xml中設定的位置(相對或絕對)都是基於他的父控制元件左上角.而實際顯示之後獲取的位置,是基於整個客戶區的

報表:JS獲取控制元件資訊時,各控制元件變數名梳理

前面分享了在報表中需要獲取控制元件所在行號,以用來獲取所在行上的資料資訊的業務需求,在前面分享的是用按鈕控制元件用來獲取當前所在行的,當實際應用中,我們還有可能用到其他多種控制元件,如:文字控制元件、數字控制元件、密碼控制元件、下拉框控制元件、下拉複選框控制元件、單選複選框控制元件、複選框組控制元件

MFC獲取控制元件位置

設定位置可以使用setWindowPos 但是並沒有函式GetWindowPos獲取位置 可以通過一下方法獲得 相關函式 GetClientRect(); //獲得client區域 GetWindowRect(); //獲取window區域 ScreenToClient(); //相互轉換 ClientToS

WPF獲取控制元件位置的方法

WPF中提供了多種佈局方式,因此在佈局中的定位相對於WinForm的絕對定位要靈活的多,在WPF中,控制元件均沒有如WinForm中的Location屬性,但是,對應的提供了各種設定與獲取相對於承載元素的定位 一般來說,Wpf中的佈局控制元件大多都是相對定位(網格,流式,面板等),如果我們要改變控制元

Android 獲取控制元件的座標位置

知識點很少,只是為了做個筆記 獲取一下控制元件,比如 button EditText……的座標位置 View v1 = (View) button1; View v2 = (View) editText1; int[] l1 = {0, 0}; int[] lv2 =

【Android】獲取控制元件的寬高和位置

獲取控制元件的絕對位置(包括狀態列)可以用這種方法,呼叫方法後,location[0]和location[1]就分別被賦值了。 int[] location = new int[2]; view.getLocationOnScreen(loc

Qt獲取控制元件位置座標詳解

1.     QPoint QMouseEvent::pos()      這個只是返回相對這個widget(過載了QMouseEvent的widget)的位置。       const Returns the position of the mouse cursor, r

android 獲取控制元件大小和設定調整控制元件位置XY

網上很多人對設定控制元件的位置都使用      view.setPadding(left, top, right, bottom) ,其實這玩意很差勁,它是設定自己本身位置的偏移,我們很少需要這種效果,我需要的設定控制元件相對螢幕左上角的X 、Y位置。眾裡尋他千百度,驀然回首,那人卻在燈火闌珊處!

mfc獲取控制元件在對話方塊上的位置

轉自:https://www.cnblogs.com/huhu0013/p/3944569.htmlCRect rect;GetDlgItem(控制元件ID)->GetWindowRect(&rect);//獲取控制元件的螢幕座標ScreenToClient(&

獲取View類介面控制元件位置

獲取在parent裡的相對座標位置     這個比較簡單,不用多說,直接呼叫View的方法:getLeft , getTop, getBottom, getRight 獲得。 獲取在螢幕中的絕對位置   getLocalVisibleRect getGlobalVisi

VC MFC 獲取螢幕大小 程式視窗大小位置 控制元件大小位置

//下邊兩個函式獲取的是顯示螢幕的大小,但不包括工作列等區域int cx = GetSystemMetrics(SM_CXFULLSCREEN);int cy = GetSystemMetrics(SM_CYFULLSCREEN);printf("螢幕大小(不含工作列):寬

Qt獲取控制元件位置,座標總結

      Returns the position of the cursor (hot spot) of the primary screen in global screen coordinates. You can call QWidget::mapFromGlobal() to translate

如何獲取控制元件在窗體上的位置座標和大小值

在進行窗體佈局的時候,設定控制元件的位置和大小,大家可以在VS自動填充的程式碼中可以清晰的看到諸如這樣的程式碼: this.Label1.Location = new Point(12,5); this.Label1.Size = new Point(34,13); 那麼,同

如何獲取控制元件的座標位置

//location [0]是x座標,location [1]是y座標int[] location = new int[2] ;// 獲取在當前視窗內的絕對座標view.getLocationInWi

QT獲取控制元件的內容去傳參的小發現

1://處理文字框(內容是一個連續的字串)的方法(不能直接用文字框的內容去傳參,//否則會有意想不到的錯誤發生,需要利用先拷貝到陣列,然後利用陣列去傳參), #include <QStringList> #include <QString> int arg

android獲取螢幕寬高與獲取控制元件寬高

// 獲取螢幕寬高(方法1) int screenWidth = getWindowManager().getDefaultDisplay().getWidth(); // 螢幕寬(畫素,如:480px) int screenHeight = getWindowManager().getDe

[MFC] HWND(獲取控制元件或窗體控制代碼) [大三TJB_708]

1 C++窗體物件和HWND 窗體物件是一個繼承於CWnd類的C++類的 物件。咱們可以用建構函式生成一個windows窗體,此windows窗體被一個 "window handle" (HWND)唯一標識,當一個窗體被建立後,此視窗的視窗控制代碼也響應的被建立。此視窗的視窗控制代碼被儲存在窗體

獲取控制元件相對父視窗的座標

首先說明幾個常用windows API函式 1.GetClientRect 該函式獲取視窗客戶區的大小。注意一下:視窗的客戶區為視窗中除標題欄、選單欄之外的地方。 在Win32 SDK, 該API函式原型為 BOOL GetClientRect( HWND hWnd, //