《精通JavaScript》讀書筆記(五)

2021-08-25 23:37:57 字數 1938 閱讀 3062

1.滑鼠位置

1)首先需要確定的兩個變數是:游標相對於整個頁面的x和y位置。如下所示

/*

* 獲取滑鼠相對於整個頁面的偏移量

* @param e

*/var getx = function(evt);

var gety = function(evt);

上面的**中pagex只存在於非ie的瀏覽器中,代表著滑鼠事件相對於整個頁面(包括滾動條位置)的座標,而clienty在ie和其他瀏覽器下均存在,代表著滑鼠事件相對於整個頁面(不包括滾動條位置)的座標,所以需要加上滾動條的偏移量。

2)游標相對於正在互動元素的x和y的位置。**如下:

/*

*獲取游標相對於當前正在互動的元素的x和y位置

*layerx的作用:網上很多解釋說layerx與offsetx的作用相同.可以返回滑鼠指標在觸發事件元素內的x座標

*也有解釋說相對于父元素的x座標.經過我的測試得出以下結論:

*layerx可以返回兩種結果.第一:layerx屬性可以返回滑鼠指標相對于父元素的x座標水平位置.

*第二:layerx屬性可以返回滑鼠指標相對於元素本身的x座標水平位置.

*比如說我需要在某個div內獲取滑鼠指標的x水平位置.

*如果你沒有使用css中的position屬性來對該div進行任何設定.那麼這時layerx返回的是相對於div父元素的x座標.

*也就是包含該div的那個元素.

*如果將div的position屬性設定為absolute或relative時.layerx則返回元素本身的x水平位置.

*這時返回的值與clientx的值相同.另外提醒的是layerx支援ff和safari瀏覽器,在ie和opear中無法使用.

*/var getelementx = function(evt);

var getelementy = function(evt);

上述**事實上不太準確,主要是layerx這個屬性的問題,詳細見注釋,offsetx則是準確的,目前測試,在ie和chrome下支援offsetx,在ff下不支援。因此要想在ff下獲得準確的相對於事件元素的游標位置,則需要將元素的position設定為absolute或relative.

2. 視口

1)頁面尺寸

以下函式返回了頁面的完整高度和寬度(即包括滾動條外的內容):

/*

* 返回頁面的潛在完整寬度和高度(包括滾動條之外的內容)

*/var getpageheight = function();

var getpagewidth = function();

2)滾動條位置

以下函式返回了滾動條的位置:

/*

* 確定瀏覽器滾動條位置的函式

* pagexoffset:經測試,chrome和ff下存在,ie下無效

*/var getscrollx = function();

var getscrolly = function();

3)視口尺寸

以下函式能夠獲得頁面的視口尺寸(即不包含滾動條之外的內容):

/*

*獲得頁面的視口尺寸(不包括滾動條之外的內容)

*innerheight: ff和chrome支援,ie不支援

*/var getwindowheight = function();

var getwindowwidth = function();

《精通JavaScript》讀書筆記(四)

1.元素的尺寸 找出 元素的的高度和寬度可以很容易,也可以很困難,取決於它所處的不同場合,在大多數情況下,我們只需要利用前面自己封裝的getstyle函式即可,如下所示 var getheight function elem var getwidth function elem 但是這樣做會遇到2個...

精通指令碼黑客2 10 2 11筆記

3 虛擬主機用的最多的軟體就是serv u這個ftp工具。4 查詢conn和config,pass這型別的檔案。5 檢查有什麼系統服務,或者隨系統啟動自動啟動的程式和管理員經常使用的軟體,是否可以修改其程式,繫結乙個批處理或者vbs。6 管理員會把,cmd.exe,net.exe,netl.exe都...

精通指令碼黑客3 1 3 8筆記

html 超文字標記語言 html格式 1 標記名 文字文字首尾 2 頭 3 標題 4 標記 5 換行 6 插入一條分割線 7 向中對齊 8 文字連線html的表單是html頁面與瀏覽器端互動的重要手段。語法解釋 基本屬性 name 表單的名稱 method 定義表單的從瀏覽器傳送到伺服器的方法 a...