-
math.float是取整
查看全部 -
CTRL+shift+/*? ? 或者//? ?代表注釋
查看全部 -
時間處理程序
查看全部 -
跨瀏覽器封裝對象
查看全部 -
事件處理程序
查看全部 -
事件捕獲:由不具體到具體
查看全部 -
點擊事件元素不僅是按鈕,還包括裝載按鈕的父盒子以及父盒子以上的元素,上溯到html元素
查看全部 -
//IE事件處理程序
undefined
//一個叫attachevent和detachevent,只需要告訴他事件處理程序的名稱和事件處理程序的函數,會發現去掉了第三個布爾值,是因為ie默認是冒泡模式
undefined
//在這里面和dom事件的區別就是需要把on加上,記住在添加和刪除的時候傳入的參數要一樣
undefined
//在Chrome里面是不能用attach和detach的,但是在ie里面使用add和delete的時候就不能用attach和detach了,這個時候就要跨瀏覽器操作
undefined
//跨瀏覽器操作是可以通過構建對象的方式來實現,
undefined
var eventUtil = {
? ? ? addHandler:function(element,type,handler){
? ? ? ? if(element.addEventListener){
? ? ? ? ? ? element.addEventListener(element,type,handler);
}
}
}
undefined
var eventUtil = {
? ? ? addHandler:function(element,type,handler){
? ? ? ? if(element.addEventListener){//非IE
? ? ? ? ? ? element.addEventListener(type,handler,false);
}
? ? ? ? else if(element.attachEvent){//IE瀏覽器的
? ? ? ? element.attachEvent('on'+type,handler);
}
? ? ? ? else{//dom0級別的
? ? ? ? elsement['on'+type] = hanler;//記住所有能用.的地方都可以用【】,只不過用.方便點
}
}
}
undefined
//上面就得到了一個被封裝好的添加和刪除的對象,這樣就實現了跨瀏覽器的操作
undefined
//在調用的時候
undefined
2138:1 Unchecked runtime.lastError: The message port closed before a response was received.
eventUtil.addHandler(element,type,handler)
查看全部 -
?//在以前給html添加事件的時候是將事件當作屬性寫在html里面的,但是現在的dom0級則是將其先get出來然后在腳本里面添加一個屬性
查看全部 -
//這一章介紹的是什么是事件流,起初的思想是我們是通過事件來將js和html頁面結合起來,這樣去想的話就是說我們在出發一個事件的時候要聯想到整個框架的反應,基于此,整個框架的反應模式有兩種,一種是事件冒泡
undefined
//1、事件冒泡就是說我們在出發一個事件的時候,事件最開始由最具體的元素(文檔中的嵌套層次最深的那個元素)接收,然后逐級向上傳播至最不具體的那個節點(文檔)
undefined
//1、事件冒泡就是說我們在出發一個事件的時候,事件最開始由最具體的元素(文檔中的嵌套層次最深的那個元素)接收,然后逐級向上傳播至最不具體的那個節點(文檔),舉個例子,我們觸發input事件,然后是div,然后是body,然后是html,然后是整個document
undefined
//2、事件捕獲
undefined
//事件捕獲的情況正好相反,就是說document、html、body、div、input
查看全部 -
事件對象的獲取,類型,阻止冒泡,阻止默認等,兼容方法查看全部
-
跨瀏覽器添加事件兼容方法查看全部
-
添加事件與刪除事件的方法,IE8及以上查看全部
-
E和其他瀏覽器事件對象區別
查看全部 -
IE8瀏覽器處理event兼容,取window.event查看全部 -
事件對象內容
查看全部 -
IE事件處理程序
attachEvent()添加事件
detachEvent()刪除事件
接受兩個相同的參數:事件處理程序的名稱和事件處理程序的函數
查看全部 -
DOM0級事件處理程序:較傳統的方式:把一個函數賦值給一個事件的處理程序屬性,用的比較多。優點:簡單,跨瀏覽器的優勢
查看全部 -
事件捕獲:不太具體的節點應該更早接收到事件,而最具體的節點最后接收到事件
查看全部 -
這個比qq登錄界面的要容易一些,不過基本一樣
查看全部 -
這個比QQ界面的要容易一些,不過基本一樣
查看全部 -
做完QQ登錄界面之后再做這個輕松了許多
查看全部 -
window.onload?=?function?()?{ ????var?data?=?['Phone5',?'Ipad',?'三星筆記本',?'佳能相機',?'惠普打印機',?'謝謝參與',?'50元充值卡',?'1000元超市購物券'], ????????txt?=?document.getElementById('txt'),?//抽獎結果 ????????play?=?document.getElementById('play'),?//開始按鈕 ????????stop?=?document.getElementById('stop'),?//結束按鈕 ????????timer?=?null;?//計時器 ????????flag?=?false;?//定時器狀態標記 ????play.style.backgroundColor?=?'#036';?//設置按鈕初始顏色 ????stop.style.backgroundColor?=?'gray'; ????play.onclick?=?playFun;?//點擊開始按鈕事件 ????stop.onclick?=?stopFun; ????//按任意鍵事件 ????document.onkeyup?=?function?()?{ ????????//判斷是否為空格鍵 ????????if?(event.keyCode?==?32)?{ ????????????//判斷定時器狀態 ????????????if?(flag?==?false)?{ ????????????????playFun(); ????????????}?else?{ ????????????????stopFun(); ????????????} ????????} ????} ????//開始抽獎 ????function?playFun()?{ ????????clearInterval(timer);?//清除上一個定時器,避免重復添加 ????????//設置定時器 ????????timer?=?setInterval(function?()?{ ????????????txt.innerHTML?=?data[Math.floor(Math.random()?*?data.length)];?//隨機獎品 ????????},?100); ????????play.style.backgroundColor?=?'gray';?//修改按鈕顏色 ????????stop.style.backgroundColor?=?'#036'; ????????flag?=?true;?//定時器標記為開 ????} ????//結束抽獎 ????function?stopFun()?{ ????????clearInterval(timer); ????????play.style.backgroundColor?=?'#036'; ????????stop.style.backgroundColor?=?'gray'; ????????flag?=?false;?//定時器標記為關 ????} }
查看全部 -
//HTML渲染完后再加載 window.onload?=?function?()?{ ??var?oPanel?=?document.getElementById('loginPanel');?//登錄界面 ??var?oTitle?=?document.getElementsByClassName('login_logo_webqq')[0];?//標題欄 ??var?oStatus?=?document.getElementById('loginState');?//狀態欄 ??var?oClock?=?document.getElementById('ui_boxyClose');?//關閉按鈕 ??//按住標題欄事件 ??oTitle.onmousedown?=?function?()?{ ????var?disX?=?event.clientX?-?oPanel.offsetLeft;?//鼠標點擊處和界面左邊界的距離 ????var?disY?=?event.clientY?-?oPanel.offsetTop;?//鼠標點擊處和界面上邊界的距離 ????//鼠標移動事件:觸發登陸界面跟隨 ????document.onmousemove?=?function?(event/*傳入事件*/)?{ ??????event?=?event?||?window.event;?//取出事件 ??????var?left?=?event.clientX?-?disX;?//界面左邊界水平坐標 ??????var?top?=?event.clientY?-?disY;?//界面上邊界垂直坐標 ??????var?maxLeft?=?document.documentElement.clientWidth?-?oPanel.offsetWidth;?//界面左邊界水平坐標最大限制 ??????var?maxTop?=?document.documentElement.clientHeight?-?oPanel.offsetHeight;?//界面上邊界垂直坐標最大限制 ??????//如果水平坐標超過最大限制,則界面不再跟隨鼠標移動 ??????if?(left?>?maxLeft?-?10)?{ ????????left?=?maxLeft?-?10;?//為關閉按鈕預留10px空間 ??????}?else?if?(left?<?0)?{ ????????left?=?0; ??????} ??????//同理 ??????if?(top?>?maxTop)?{ ????????top?=?maxTop; ??????}?else?if?(top?<?10)?{ ????????top?=?10;?//為關閉按鈕預留10px空間 ??????} ??????oPanel.style.left?=?left?+?'px';?//client和offset為整型數,不帶單位 ??????oPanel.style.top?=?top?+?'px'; ??????//松開鼠標鍵事件:界面不再跟隨 ??????document.onmouseup?=?function?()?{ ????????document.onmousemove?=?null;?//移動事件不再觸發任何活動 ??????} ????} ??} ??//點擊狀態欄事件:彈出狀態選擇菜單(下拉菜單) ??oStatus.onclick?=?function?()?{ ????event.stopPropagation();?//阻止冒泡事件,防止點擊了父節點(HTML文檔)導致菜單關閉 ????var?sPanel?=?document.getElementById('loginStatePanel');?//下拉菜單 ????var?pLists?=?document.getElementsByClassName('statePanel_li');?//菜單列表 ????sPanel.style.display?=?'block';?//顯示下HTML拉菜單 ????//遍歷菜單列表,添加動態效果 ????for?(var?i?=?0;?i?<?pLists.length;?i++)?{ ??????//鼠標經過事件:觸發灰色背景 ??????pLists[i].onmouseover?=?function?()?{ ????????this.style.backgroundColor?=?'#999'; ??????} ??????//鼠標移開事件:背景顏色恢復 ??????pLists[i].onmouseout?=?function?()?{ ????????this.style.backgroundColor?=?'#fff'; ??????} ??????//鼠標點擊事件:更改狀態欄內容并關閉下拉菜單 ??????pLists[i].onclick?=?function?(event)?{ ????????event?=?event?||?window.event; ????????event.stopPropagation();?//阻止冒泡事件,防止點擊了父節點(狀態欄)導致下拉菜單關閉失敗 ????????var?sShow?=?document.getElementById('loginStateShow');?//狀態欄圖標 ????????var?sTxt?=?document.getElementById('login2qq_state_txt');?//狀態欄文本 ????????sShow.className?=?'login-state-show?'?+?this.id;?//修改狀態欄圖標為選中項的狀態圖標 ????????sTxt.innerHTML?=?this.getElementsByTagName('div')[1].innerHTML;?//修改狀態欄文本為選中項的狀態文本 ????????sPanel.style.display?=?'none';?//關閉下拉菜單 ??????} ????} ????/*點擊HTML文檔事件(除狀態欄外的其他區域):觸發下拉菜單關閉 ??????若點擊了狀態欄,則不會觸發此操作(冒泡被阻止)*/ ????document.onclick?=?function?()?{ ??????sPanel.style.display?=?'none'; ????} ??} ??//點擊關閉按鈕事件:觸發登錄界面隱藏 ??oClock.onclick?=?function?()?{ ????oPanel.style.display?=?'none'; ??} }
查看全部 -
IE事件處理程序:
attachEvent()添加事件
detachEvent()刪除事件
接收相同的兩個參數:事件處理程序的名稱(加on)和事件處理程序的函數?
查看全部
舉報