1. e.client:相對於當前頁面(視窗,不是這個元素)可視區域的左頂點
document.onmousemove = function(e)
2.e.screen:相對於計算機螢幕的左頂點
document.body.onclick = function(e)
3.offset:事件觸發時滑鼠距離該元素左邊(x)或上邊(y)的距離(與定位無關)
document.getelementbyid("son").onclick = function(e)
1.offset: 偏移量(包含邊框)
// 即使元素沒有設定樣式,只用文字填充,也能獲取到
offsetwidth:獲取dom元素的寬度
offsethight:獲取dom元素的高度
// 注意:是到父盒子的padding為止
offsetleft:到最近的帶有定位的父盒子的padding左側的距離。
offsettop:到最近的帶有定位的父盒子的padding上邊的距離。
2.client: 可視;當前物件的可視區域寬高(不包含邊框)(有相容性)
clientwidth: 可視寬度(width + padding)
clienthight: 可視高度(height + padding)
相容性寫法:
var clientwidth = window.innerwidth|| document.documentelement.clientwidth|| document.body.clientwidth|| 0;
備註:clienttop和clientleft沒用,他們通常指的就是border的寬度
(如果有滾動條會包含滾動條的寬度)
3.scroll:捲曲;獲取頁面捲曲的距離(頁面滾動的座標)(有相容性)
document.onmouseover = function()
相容性寫法:
var scrolltop = window.pageyoffset || document.documentelement.scrolltop || document.body.scrolltop || 0;
4.page:滑鼠在當前頁面的位置(頁面有捲曲的話要加上捲曲)(有相容性)
// pagex和pagey不支援ie瀏覽器
// 它的用法和e.clientx和e.clieny大致相同,
// 但是當頁面捲曲時,page系列能夠獲取到頁面的準確座標,計算了滾動的距離
// client系列不會計算滾動的距離
// 所以當設定隨著滑鼠滾動時,不計相容問題的話,page系列很簡單
// clien系列需要 + 對應的scroll
client:
pic.style.left = e.clientx + scrollleft +"px";
pic.style.top = e.clienty + scrolltop + "px";
page:
pic.style.left = pagex +"px";
pic.style.top = pagey + "px";
1. offset()方法
offset():設定元素相對於文件doucment的位置
offset(): 獲取元素相對於文件doucment的位置,獲取的是乙個物件
offset().left;offset().top 獲取距離文件左邊或上邊的距離
2. position()方法
只能獲取位置,不能設定
獲取相對於其最近的有定位的父元素
事件物件(event)
再觸發dom上的某個事件時,會產生乙個事件物件event,這個物件中包含著所有與事件有關的資訊。所有瀏覽器都支援event物件,但支援的方式不同。1.事件物件的獲取 event的獲取 event內容重要內容 2.screenx pagex和clientx的區別 3.pagey和pagex的相容寫法 ...
事件Event物件
當事件發生時,會向呼叫函式傳遞乙個event物件,event 物件記錄當前事件發生時的環境資訊。乙個事件只能對應乙個event物件,並且event 物件是短暫存在的。dom中的 event 物件的使用方法 1 在html 標記中,通過事件來呼叫函式,向函式傳遞乙個 event 引數,該引數就是乙個 ...
JS事件物件event
事件物件 事件引數物件,event物件 1,什麼是事件物件 任何乙個事件觸發後都會包含乙個event物件 event物件中包含與當前事件相關的一些屬性和方法。2,獲取event物件 1,在html中繫結事件 標記 on事件名 btn event eg function btn event 注意 1,...