DOM,文檔對象模型(Document Object Model)。DOM是 W3C(萬維網聯盟)的標準,DOM定義了訪問HTML和XML文檔的標準。在W3C的標準中,DOM是獨於平臺和語言的接口,它容許程序和腳本動態地訪問和更新文檔的內容、結構和樣式。
- 核心DOM - 針對任何結構化文檔的標準模型 - XML DOM - 針對 XML 文檔的標準模型 - HTML DOM - 針對 HTML 文檔的標準模型
在一些DOM操做中咱們常常會跟元素的位置打交道,鼠標交互式一個常常用到的方面,不一樣的瀏覽器下會有不一樣的結果甚至是有的瀏覽器下沒結果。
如今我們web開發使用原生操做dom節點都比較少,由於如今的框架都是屬於虛擬dom,原生操做dom節點我感受很繁瑣
不知道的話本身下去搜搜css
js鼠標或座標屬性web
clientX/Y獲取到的是觸發點相對瀏覽器可視區域左上角距離,不隨頁面滾動而改變。chrome
pageX/Y獲取到的是觸發點相對文檔區域左上角距離,會隨着頁面滾動而改變canvas
offsetX/Y獲取到是觸發點相對被觸發dom的左上角距離,不過左上角基準點在不一樣瀏覽器中有區別,其中在IE中之內容區左上角爲基準點不包括邊框,若是觸發點在邊框上會返回負值,而chrome中以邊框左上角爲基準點。瀏覽器
screenX/Y獲取到的是觸發點相對顯示器屏幕左上角的距離,不隨頁面滾動而改變。框架
補充一下獲取dom的方法dom
獲取座標函數
<div class="box"> <div class="children" id="move"></div> </div> var dom = document.getElementById('move'); function down (e) { e = e || window.event; console.log(e.pageX, 'pageX') console.log(e.offsetX, 'offsetX') console.log(e.clientX, 'clientX') console.log(e.screenX, 'screenX') console.log(e.x, 'e.x') } dom.onmousedown = down
連接描述spa
連接描述.net
缺點 若是作其餘圖行變化或是拖拽的話,好比菱形,不規則圖形等是很是的麻煩,由於css畫出的不規則圖形很繁瑣,不易變化 若是用canvas主要的難點就是若是你畫不少的圖形,很差給定位用戶選擇的是哪一個,並且canvas移動的話是須要從新繪製的,最最重要的一點 是數學要比較好,好比勾股定理啊。。。不懂!!!