-
頁面布局查看全部
-
鼠標拖拽事件三個關鍵: var mouseOffsetX = 0; // 偏移 var mouseOffsetY = 0; var isDraging = false; // 是否可拖拽的標記 (1)在標題欄上按下。鼠標在標題欄上按下時,要計算鼠標相對拖拽元素的左上角的坐標,并且標記元素為可拖動。 g('dialogTitle').addEventListener('mousedown',function(e){ var e = e || window.event; mouseOffsetX = e.pageX - g('dialog').offsetLeft; mouseOffsetY = e.pageY - g('dialog').offsetTop; isDraging = true; }) (2)開始移動。鼠標開始移動,要檢測登錄浮層是否可標記為移動,如果是,則更新元素的位置到當前鼠標的位置(注意:要減去第一步中獲得的偏移) document.onmousemove = function( e ){ var e = e || window.event; var mouseX = e.pageX; // 鼠標當前的位置 var mouseY = e.pageY; var moveX = 0; // 浮層元素的新位置 var moveY = 0; if( isDraging === true ){ moveX = mouseX - mouseOffsetX moveY = mouseY - mouseOffsetY; g('dialog').style.left = moveX + 'px'; g('dialog').style.top = moveY + 'px'; } } (3)放開。鼠標松開的時候,標記元素為不可拖動狀態(tài)即可。 document.onmouseup = function(){ isDraging = false; }查看全部
-
區(qū)分clientX 與 pageX clientX/Y: clientX/Y獲取到的是觸發(fā)點相對瀏覽器可視區(qū)域左上角距離,不隨頁面滾動而改變 兼容性:所有瀏覽器均支持 pageX/Y: pageX/Y獲取到的是觸發(fā)點相對文檔區(qū)域左上角距離,會隨著頁面滾動而改變 兼容性:除IE6/7/8不支持外,其余瀏覽器均支持 http://www.bbs0101.com/archives/124.html查看全部
-
function g(id) { return document.getElementById(id); } // 自動居中 - 登錄浮層 function autoCenter(el) { // 獲得瀏覽器可視區(qū)域寬高 var bodyW = document.documentElement.clientWidth; var bodyH = document.documentElement.clientHeight; // 獲得元素實際寬高 var elW = el.offsetWidth; var elH = el.offsetHeight; el.style.left = (bodyW - elW) / 2 + "px"; el.style.top = (bodyW - elH) / 2 + "px"; } // 自動全屏 - 遮罩 function fillToBody(el) { el.style.width = document.documentElement.clientWidth + 'px'; el.style.height = document.documentElement.clientHeight + 'px'; }查看全部
-
獲取/設置 元素對象的left/top 位置 Element.style.left Element.style.top 重新為left 和 top 賦值,格式是‘?px’,例如 Element.top='10px'查看全部
-
重點屬性: 窗口顯示區(qū)域的寬/高: document.documentElement.clientWidth document.documentElement.clientHeight 獲取當前時間發(fā)生時的鼠標X/Y坐標: event.pageX event.pageY 獲取元素對象的實際寬高: element.offsetWidth element.offsetHeight查看全部
-
腳本中用到的 重點函數查看全部
-
腳本開發(fā) 及其用到的函數查看全部
-
前段界面開發(fā)查看全部
-
拖拽原理分析查看全部
-
頁面結構分析查看全部
-
1、界面結構分析 dialog{ dialogTitle{ dialogClose } dialoglogContent{ 用戶名 密碼 登錄按鈕 } } 2、拖拽原理 在標題欄上按下()記錄浮層可拖拽 開始移動{ 判斷浮層是否可以拖動 跟隨鼠標移動 范圍限定 } 放開()記錄浮層不可拖拽 3、前端界面開發(fā) 登錄浮層(dialog) 遮罩層(mask) 觸發(fā)鏈接() 4、腳本開發(fā) 獲取元素對象的通用函數 $(id){ return document.getElementById(id); }document 自動居中元素對象函數 autoCenter(ele) 自動全屏元素對象函數 fillTOBody(ele) 三個鼠標事件處理 展現(xiàn)登錄浮層函數 showDialog() 隱藏登錄浮層函數 hideDialog() 重點用到的函數 document.getElementById(id) 根據傳入的id獲得元素(element)對象 Element.addEventListener(type,function) 為元素對象設置事件偵聽處理 document.onmouseup=function(e){} 鼠標松開時觸發(fā) document.onmousemove=function(e){} 鼠標移動時觸發(fā) window.onresize=function(){} 窗口大小改變時觸發(fā)的方法 重點屬性 document.documentElement.clientWidth 獲得窗口顯示區(qū)域的寬 document.documentElement.clientHeight 獲得窗口顯示區(qū)域的高 Event.pageX 獲得當前事件發(fā)生時的鼠標X坐標 Event.pageY 獲得當前事件發(fā)生時的鼠標Y坐標 Element.offsetWidth 獲得元素對象的實際寬度 Element.offstHeight 獲得元素對象的實際高度 設置位置 Element.style.left 獲取/設置元素對象的left/top 位置 Element.style.top查看全部
-
B在鼠標事件發(fā)生的時候,從 Event.pageX 獲得鼠標的x 坐標位置查看全部
-
防止鼠標選中事件 onselectstart="return false";查看全部
-
獲取各種寬高查看全部
舉報
0/150
提交
取消