Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
輪事件是不同瀏覽器會(huì)有一點(diǎn)點(diǎn)區(qū)別,一個(gè)像Firefox使用DOMMouseScroll ,ff也可以使用addEventListener方法綁定DomMouseScroll事件,其他的瀏覽器滾輪事件使用mousewheel,下面我來(lái)給大家具體介紹。
Firefox使用DOMMouseScroll,其他的瀏覽器使用mousewheel。滾動(dòng)事件觸發(fā)時(shí)Firefox使用detail屬性捕捉滾輪信息,其他的瀏覽器使用wheelDelta。不知道為何在該問(wèn)題上其他廠商和微軟的如此一致。Firefox可以使用addEventListener方法綁定DomMouseScroll事件。
elem.addEventListener(‘DOMMouseScroll’, func, false);IE和其他的主流瀏覽器可以使用傳統(tǒng)的事件綁定模型。但不要使用IE專(zhuān)有的attachEvent方法,其他主流瀏覽器并不識(shí)別微軟的這個(gè)方法。
Firefox 鼠標(biāo)滾輪向上滾動(dòng)是-3,向下滾動(dòng)是3
IE 鼠標(biāo)滾輪向上滾動(dòng)是120,向下滾動(dòng)是-120
Safari 鼠標(biāo)滾輪向上滾動(dòng)是360,向下滾動(dòng)是-360
Opera 鼠標(biāo)滾輪向上滾動(dòng)是120,向下滾動(dòng)是-120
Chrome 鼠標(biāo)滾輪向上滾動(dòng)是120,向下滾動(dòng)是-120
有人在Safari下做了一些測(cè)試:”只是滾動(dòng)一圈的話,值為+-0.1,如果滾動(dòng)地稍微快點(diǎn)的話(多滾動(dòng)幾圈),這個(gè)值也會(huì)變大。 這是因?yàn)镸ac OS下有鼠標(biāo)滾輪加速功能。滾動(dòng)一次,瀏覽器滾動(dòng)1像素,滾動(dòng)3次,瀏覽器卻滾動(dòng)30像素”。同時(shí)他也對(duì)Camino(基于Gecko的內(nèi)核引擎)進(jìn)行研究:“與Safari相似(+- 0.3 to +-Infinity),雖然使用了與firefox相同的內(nèi)核引擎,但結(jié)果這個(gè)delta值卻只在+-2.666666里浮動(dòng),無(wú)論滾動(dòng)速度如何
IE/Opera屬于同一類(lèi)型,使用attachEvent即可添加滾輪事件。
/*IE注冊(cè)事件*/ if(document.attachEvent){ document.attachEvent('onmousewheel',scrollFunc); }
Firefox使用addEventListener添加滾輪事件
/*Firefox注冊(cè)事件*/ if(document.addEventListener){ document.addEventListener('DOMMouseScroll',scrollFunc,false); }
Safari與Chrome屬于同一類(lèi)型,可使用HTML DOM方式添加事件
window.onmousewheel=document.onmousewheel=scrollFunc;//IE/Opera/Chrome
其中除Firefox外其余均可使用HTML DOM方式添加事件,因此添加事件使用以下方式
/*注冊(cè)事件*/ if(document.addEventListener){ document.addEventListener('DOMMouseScroll',scrollFunc,false); }//W3C window.onmousewheel=document.onmousewheel=scrollFunc;//IE/Opera/Chromex
下面兩個(gè)參數(shù)可以獲取滾動(dòng)的位置
document.documentElement.scrollTop:垂直方向
document.documentElement.scrollLeft:水平方向
放入監(jiān)聽(tīng)事件后就可以在鼠標(biāo)滑輪滾動(dòng)時(shí)給一些元素設(shè)置浮動(dòng)樣式
如頭條號(hào)的發(fā)表文章界面:
下滑前
下滑后
TML 屬性
HTML 標(biāo)簽可以擁有屬性。屬性提供了有關(guān) HTML 元素的更多的信息。
屬性總是以名稱(chēng)/值對(duì)的形式出現(xiàn),比如:name="value"。
屬性總是在 HTML 元素的開(kāi)始標(biāo)簽中規(guī)定。
屬性實(shí)例
HTML 鏈接由 <a> 標(biāo)簽定義。鏈接的地址在 href 屬性中指定:
[demo]
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<a >
This is a link</a>
</body>
</html>
[/demo]
更多 HTML 屬性實(shí)例
屬性例子 1:
<h1> 定義標(biāo)題的開(kāi)始。
<h1 align="center"> 擁有關(guān)于對(duì)齊方式的附加信息。
[demo]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<h1 align="center">This is heading 1</h1>
<p>上面的標(biāo)題在頁(yè)面中進(jìn)行了居中排列。上面的標(biāo)題在頁(yè)面中進(jìn)行了居中排列。上面的標(biāo)題在頁(yè)面中進(jìn)行了居中排列。</p>
</body>
</html>
[/demo]
屬性例子 2:
<body> 定義 HTML 文檔的主體。
<body bgcolor="yellow"> 擁有關(guān)于背景顏色的附加信息。
[demo]
<html>
<head>
<meta charset="UTF-8">
<meta http-equiv="Content-Type" content="text/html />
<meta http-equiv="Content-Language" content="zh-cn" />
</head>
<body bgcolor="yellow">
<h2>請(qǐng)看: 改變了顏色的背景。</h2>
</body>
</html>
[/demo]
屬性例子 3:
<table> 定義 HTML 表格。(您將在稍后的章節(jié)學(xué)習(xí)到更多有關(guān) HTML 表格的內(nèi)容)
<table border="1"> 擁有關(guān)于表格邊框的附加信息。
HTML 提示:使用小寫(xiě)屬性
屬性和屬性值對(duì)大小寫(xiě)不敏感。
不過(guò),萬(wàn)維網(wǎng)聯(lián)盟在其 HTML 4 推薦標(biāo)準(zhǔn)中推薦小寫(xiě)的屬性/屬性值。
而新版本的 (X)HTML 要求使用小寫(xiě)屬性。
始終為屬性值加引號(hào)
屬性值應(yīng)該始終被包括在引號(hào)內(nèi)。雙引號(hào)是最常用的,不過(guò)使用單引號(hào)也沒(méi)有問(wèn)題。
在某些個(gè)別的情況下,比如屬性值本身就含有雙引號(hào),那么您必須使用單引號(hào),例如:
name='Bill "HelloWorld" Gates'
下面列出了適用于大多數(shù) HTML 元素的屬性:
屬性 值 描述
class classname 規(guī)定元素的類(lèi)名(classname)
id id 規(guī)定元素的唯一 id
style style_definition 規(guī)定元素的行內(nèi)樣式(inline style)
title text 規(guī)定元素的額外信息(可在工具提示中顯示)
HTML 全局屬性
HTML 屬性賦予元素意義和語(yǔ)境。
下面的全局屬性可用于任何 HTML 元素。
HTML 全局屬性
屬性 描述
accesskey 規(guī)定激活元素的快捷鍵。
class 規(guī)定元素的一個(gè)或多個(gè)類(lèi)名(引用樣式表中的類(lèi))。
contenteditable 規(guī)定元素內(nèi)容是否可編輯。
contextmenu 規(guī)定元素的上下文菜單。上下文菜單在用戶點(diǎn)擊元素時(shí)顯示。
data-* 用于存儲(chǔ)頁(yè)面或應(yīng)用程序的私有定制數(shù)據(jù)。
dir 規(guī)定元素中內(nèi)容的文本方向。
draggable 規(guī)定元素是否可拖動(dòng)。
dropzone 規(guī)定在拖動(dòng)被拖動(dòng)數(shù)據(jù)時(shí)是否進(jìn)行復(fù)制、移動(dòng)或鏈接。
hidden 規(guī)定元素仍未或不再相關(guān)。
id 規(guī)定元素的唯一 id。
lang 規(guī)定元素內(nèi)容的語(yǔ)言。
spellcheck 規(guī)定是否對(duì)元素進(jìn)行拼寫(xiě)和語(yǔ)法檢查。
style 規(guī)定元素的行內(nèi) CSS 樣式。
tabindex 規(guī)定元素的 tab 鍵次序。
title 規(guī)定有關(guān)元素的額外信息。
translate 規(guī)定是否應(yīng)該翻譯元素內(nèi)容。
HTML 事件屬性
Window 事件屬性
針對(duì) window 對(duì)象觸發(fā)的事件(應(yīng)用到 <body> 標(biāo)簽):
屬性 值 描述
onafterprint script 文檔打印之后運(yùn)行的腳本。
onbeforeprint script 文檔打印之前運(yùn)行的腳本。
onbeforeunload script 文檔卸載之前運(yùn)行的腳本。
onerror script 在錯(cuò)誤發(fā)生時(shí)運(yùn)行的腳本。
onhaschange script 當(dāng)文檔已改變時(shí)運(yùn)行的腳本。
onload script 頁(yè)面結(jié)束加載之后觸發(fā)。
onmessage script 在消息被觸發(fā)時(shí)運(yùn)行的腳本。
onoffline script 當(dāng)文檔離線時(shí)運(yùn)行的腳本。
ononline script 當(dāng)文檔上線時(shí)運(yùn)行的腳本。
onpagehide script 當(dāng)窗口隱藏時(shí)運(yùn)行的腳本。
onpageshow script 當(dāng)窗口成為可見(jiàn)時(shí)運(yùn)行的腳本。
onpopstate script 當(dāng)窗口歷史記錄改變時(shí)運(yùn)行的腳本。
onredo script 當(dāng)文檔執(zhí)行撤銷(xiāo)(redo)時(shí)運(yùn)行的腳本。
onresize script 當(dāng)瀏覽器窗口被調(diào)整大小時(shí)觸發(fā)。
onstorage script 在 Web Storage 區(qū)域更新后運(yùn)行的腳本。
onundo script 在文檔執(zhí)行 undo 時(shí)運(yùn)行的腳本。
onunload script 一旦頁(yè)面已下載時(shí)觸發(fā)(或者瀏覽器窗口已被關(guān)閉)。
Form 事件
由 HTML 表單內(nèi)的動(dòng)作觸發(fā)的事件(應(yīng)用到幾乎所有 HTML 元素,但最常用在 form 元素中):
屬性 值 描述
onblur script 元素失去焦點(diǎn)時(shí)運(yùn)行的腳本。
onchange script 在元素值被改變時(shí)運(yùn)行的腳本。
oncontextmenu script 當(dāng)上下文菜單被觸發(fā)時(shí)運(yùn)行的腳本。
onfocus script 當(dāng)元素失去焦點(diǎn)時(shí)運(yùn)行的腳本。
onformchange script 在表單改變時(shí)運(yùn)行的腳本。
onforminput script 當(dāng)表單獲得用戶輸入時(shí)運(yùn)行的腳本。
oninput script 當(dāng)元素獲得用戶輸入時(shí)運(yùn)行的腳本。
oninvalid script 當(dāng)元素?zé)o效時(shí)運(yùn)行的腳本。
onreset script 當(dāng)表單中的重置按鈕被點(diǎn)擊時(shí)觸發(fā)。HTML5 中不支持。
onselect script 在元素中文本被選中后觸發(fā)。
onsubmit script 在提交表單時(shí)觸發(fā)。
Keyboard 事件
屬性 值 描述
onkeydown script 在用戶按下按鍵時(shí)觸發(fā)。
onkeypress script 在用戶敲擊按鈕時(shí)觸發(fā)。
onkeyup script 當(dāng)用戶釋放按鍵時(shí)觸發(fā)。
Mouse 事件
由鼠標(biāo)或類(lèi)似用戶動(dòng)作觸發(fā)的事件:
屬性 值 描述
onclick script 元素上發(fā)生鼠標(biāo)點(diǎn)擊時(shí)觸發(fā)。
ondblclick script 元素上發(fā)生鼠標(biāo)雙擊時(shí)觸發(fā)。
ondrag script 元素被拖動(dòng)時(shí)運(yùn)行的腳本。
ondragend script 在拖動(dòng)操作末端運(yùn)行的腳本。
ondragenter script 當(dāng)元素元素已被拖動(dòng)到有效拖放區(qū)域時(shí)運(yùn)行的腳本。
ondragleave script 當(dāng)元素離開(kāi)有效拖放目標(biāo)時(shí)運(yùn)行的腳本。
ondragover script 當(dāng)元素在有效拖放目標(biāo)上正在被拖動(dòng)時(shí)運(yùn)行的腳本。
ondragstart script 在拖動(dòng)操作開(kāi)端運(yùn)行的腳本。
ondrop script 當(dāng)被拖元素正在被拖放時(shí)運(yùn)行的腳本。
onmousedown script 當(dāng)元素上按下鼠標(biāo)按鈕時(shí)觸發(fā)。
onmousemove script 當(dāng)鼠標(biāo)指針移動(dòng)到元素上時(shí)觸發(fā)。
onmouseout script 當(dāng)鼠標(biāo)指針移出元素時(shí)觸發(fā)。
onmouseover script 當(dāng)鼠標(biāo)指針移動(dòng)到元素上時(shí)觸發(fā)。
onmouseup script 當(dāng)在元素上釋放鼠標(biāo)按鈕時(shí)觸發(fā)。
onmousewheel script 當(dāng)鼠標(biāo)滾輪正在被滾動(dòng)時(shí)運(yùn)行的腳本。
onscroll script 當(dāng)元素滾動(dòng)條被滾動(dòng)時(shí)運(yùn)行的腳本。
Media 事件
由媒介(比如視頻、圖像和音頻)觸發(fā)的事件(適用于所有 HTML 元素,但常見(jiàn)于媒介元素中,比如 <audio>、<embed>、<img>、<object> 以及 <video>):
屬性 值 描述
onabort script 在退出時(shí)運(yùn)行的腳本。
oncanplay script 當(dāng)文件就緒可以開(kāi)始播放時(shí)運(yùn)行的腳本(緩沖已足夠開(kāi)始時(shí))。
oncanplaythrough script 當(dāng)媒介能夠無(wú)需因緩沖而停止即可播放至結(jié)尾時(shí)運(yùn)行的腳本。
ondurationchange script 當(dāng)媒介長(zhǎng)度改變時(shí)運(yùn)行的腳本。
onemptied script 當(dāng)發(fā)生故障并且文件突然不可用時(shí)運(yùn)行的腳本(比如連接意外斷開(kāi)時(shí))。
onended script 當(dāng)媒介已到達(dá)結(jié)尾時(shí)運(yùn)行的腳本(可發(fā)送類(lèi)似“感謝觀看”之類(lèi)的消息)。
onerror script 當(dāng)在文件加載期間發(fā)生錯(cuò)誤時(shí)運(yùn)行的腳本。
onloadeddata script 當(dāng)媒介數(shù)據(jù)已加載時(shí)運(yùn)行的腳本。
onloadedmetadata script 當(dāng)元數(shù)據(jù)(比如分辨率和時(shí)長(zhǎng))被加載時(shí)運(yùn)行的腳本。
onloadstart script 在文件開(kāi)始加載且未實(shí)際加載任何數(shù)據(jù)前運(yùn)行的腳本。
onpause script 當(dāng)媒介被用戶或程序暫停時(shí)運(yùn)行的腳本。
onplay script 當(dāng)媒介已就緒可以開(kāi)始播放時(shí)運(yùn)行的腳本。
onplaying script 當(dāng)媒介已開(kāi)始播放時(shí)運(yùn)行的腳本。
onprogress script 當(dāng)瀏覽器正在獲取媒介數(shù)據(jù)時(shí)運(yùn)行的腳本。
onratechange script 每當(dāng)回放速率改變時(shí)運(yùn)行的腳本(比如當(dāng)用戶切換到慢動(dòng)作或快進(jìn)模式)。
onreadystatechange script 每當(dāng)就緒狀態(tài)改變時(shí)運(yùn)行的腳本(就緒狀態(tài)監(jiān)測(cè)媒介數(shù)據(jù)的狀態(tài))。
onseeked script 當(dāng) seeking 屬性設(shè)置為 false(指示定位已結(jié)束)時(shí)運(yùn)行的腳本。
onseeking script 當(dāng) seeking 屬性設(shè)置為 true(指示定位是活動(dòng)的)時(shí)運(yùn)行的腳本。
onstalled script 在瀏覽器不論何種原因未能取回媒介數(shù)據(jù)時(shí)運(yùn)行的腳本。
onsuspend script 在媒介數(shù)據(jù)完全加載之前不論何種原因終止取回媒介數(shù)據(jù)時(shí)運(yùn)行的腳本。
ontimeupdate script 當(dāng)播放位置改變時(shí)(比如當(dāng)用戶快進(jìn)到媒介中一個(gè)不同的位置時(shí))運(yùn)行的腳本。
onvolumechange script 每當(dāng)音量改變時(shí)(包括將音量設(shè)置為靜音)時(shí)運(yùn)行的腳本。
onwaiting script 當(dāng)媒介已停止播放但打算繼續(xù)播放時(shí)(比如當(dāng)媒介暫停已緩沖更多數(shù)據(jù))運(yùn)行腳本
)獲取事件源對(duì)象(srcElement/target)
就是指由頁(yè)面中什么元素觸發(fā)的事件,比如按鈕
//在head標(biāo)簽的js標(biāo)簽中書(shū)寫(xiě)
function btnClick() {
//IE,谷歌瀏覽器,火狐(新版本)下
alert(window.event.srcElement.type);//button
alert(window.event.srcElement.id);//btn1
alert(window.event.srcElement.value);//按鈕
//火狐瀏覽器(老版本)下
alert(window.event.target.id);
//兼容模式下
var evt = window.event.srcElement || window.event.target;
alert(evt.type);
}
<body>
<input type="button" value="按鈕" id="btn1" onclick="btnClick();" />
</body>
2)獲取鼠標(biāo)按鍵(button)
IE:1為左鍵,2為右鍵,4中滑輪;在onmousedown事件中檢測(cè)鼠標(biāo)按鍵
function chkMKey() {
alert(window.event.button);
}
<body onmousedown="chkMKey();">
</body>
鼠標(biāo)按鍵
3)檢測(cè)電腦分辨率(screen)
function btnClick() {
//檢測(cè)自己的電腦分辨率
alert(window.screen.width + '*' + window.screen.height);
}
<body>
<input type="button" value="按鈕" id="btn1" onclick="btnClick();" />
</body>
4)獲取瀏覽器對(duì)象(navigator:封裝了一些瀏覽器的信息)
1)appCodeName:返回瀏覽器的代碼名 2)appMinorVersion:返回瀏覽器的次級(jí)版本 3)appName:返回瀏覽器的名稱(chēng) 4)appVersion:返回瀏覽器的平臺(tái)和版本信息 5)browserLanguage:返回當(dāng)前瀏覽器的語(yǔ)言
function chkMKey() {
//alert(window.event.button);
alert(window.navigator.appCodeName);
alert(window.navigator.appMinorVersion);
alert(window.navigator.Version);
alert(window.navigator.appName);
alert(window.navigator.browserLanguage);
}
navigator其他屬性
5)獲取瀏覽器歷史記錄(history)
使用history的3個(gè)方法實(shí)現(xiàn)前進(jìn)與后退,相當(dāng)于瀏覽器左上角的左右箭頭
*請(qǐng)認(rèn)真填寫(xiě)需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。