各种API以及事件初识——笔记
1.outerHTML/ innerText / innerHTML
innerHTML
將元素中所有的內(nèi)容都獲取到 包括HTML標簽 但是不包括自身標簽
innerText
將元素的內(nèi)容獲取出來不包括HTML標簽
outerHTML
將自身以及子元素所有的內(nèi)容都獲取出來 包括HTML標簽 包括自身標簽
自定義屬性及getAttribute/setAttribute方法
<div id="d"></div> //setAttribute("屬性名稱","屬性值名稱") //getAttribute("屬性名稱") : 返回屬性名稱對應(yīng)的屬性值 //我們可以通過setAttribute設(shè)置自定義屬性 var d = document.getElementById("d");d.setAttribute("heihei",123);document.write(d.getAttribute("heihei"));獲取非行內(nèi)樣式(兼容問題)
行內(nèi)樣式
行內(nèi)樣式就是卸載標簽體內(nèi)的樣式
非行內(nèi)樣式
非行內(nèi)樣式就是指不是寫在標簽內(nèi)的樣式
insertBefore:添加到一個節(jié)點前面
父節(jié)點:insertBefore(要添加的子節(jié)點,參照節(jié)點);
參照節(jié)點如果為null 那就和appendChild()一樣
offsetWidth/offsetHeight/offsetLeft/offsetTop
<style>*{margin: 0;padding: 0;}#big{border: 1px solid red;position: relative;height: 400px;width: 400px;}#small{border: 1px solid red;position: absolute;height: 100px;width: 100px;left: 80px;top: 70px;}</style></head><body><div id="big"><div id="small"></div></div></body> </html> <script>var d = document.getElementById("small");//只讀document.write(d.offsetLeft + " " + d.offsetTop + "</br>");//這2是哪來的?document.write(d.offsetWidth + " " + d.offsetHeight);//d.style.left = 200 + "px"; style.left返回字符串 如20px, offsetLeft返回數(shù)值 如20 style.left讀寫,offsetLeft只讀 style.left必須要事先定義,否則值為空 //style.height style.width style.top 也一樣window.onscroll事件
回到頂部案例
<body><div id="t"><p>111111111111111</p>....<p>111111111111111</p></div><button onclick="fun()">按鈕</button></body> </html> <script>var _top = null;window.onscroll = function(){//兼容問題 獲取滾動條移動的垂直距離_top = document.body.scrollTop || document.documentElement.scrollTop;console.log(_top);}function fun(){document.body.scrollTop = document.documentElement.scrollTop = 0;}事件
事件:對某一個元素的某種操作
事件對象:當某個事件觸發(fā)時產(chǎn)生的對象,就是事件對象
event 使用前提,必須有事件,不同的事件產(chǎn)生的事件對象不同
事件對象的兼容 : var e = event || evt;
事件對象擁有改事件相關(guān)的屬性和方法
Demo:
Demo: 小老虎跳一跳
2.事件對象的屬性
坐標屬性
pageX / pageY :x相對于整個文檔頂部和左側(cè)的坐標。
clientX / clientY :相對于局部窗口的左側(cè)和頂部的坐標
offsetX / offsetY : 相對于內(nèi)部元素的距離左側(cè)和頂部的坐標,常用于拖拽
3.案例圖片跟隨(練習)
<!DOCTYPE html> <html><head><meta charset="utf-8"><title></title><style>#myimg{height: 100px;width: 100px;position: absolute;background: url(img/clothes.jpg);background-size: 100px 100px;}</style></head><body><div id="myimg"></div></body> </html> <script>document.onmousemove = function(evt){//獲取實var e = evt || event;var oImg = document.getElementById("myimg");//操作圖片X和Y的位置oImg.style.left = e.pageX - oImg.offsetWidth/2 + "px";oImg.style.top = e.pageY -oImg.offsetHeight/2 + "px";} </script>4.鍵盤事件
onkeyup: 用戶釋放某一個按鍵時發(fā)生
onkeydown: 用戶按下按鍵時發(fā)生,任何一個按鍵即可發(fā)生事件
onkeypress: 用戶按下按鍵,并且產(chǎn)生一個字符時發(fā)生(意思就是說按ctrl這樣的按鍵沒有效果的)
事件對象的屬性:
keyCode: 獲取鍵盤按鍵值 字母 對應(yīng)其ASCII值識別
A:65 a:97 0:48 回車:13
【注意】:keyPress 的ctrl+回車返回值為10
ctrlKey:返回當事件被觸發(fā)時,“Ctrl” 是否被按下,返回值為true or false
【注意】:鍵盤檢測兼容寫方法
var key = e.keyCode || e.which || e.charCode;
總結(jié)
以上是生活随笔為你收集整理的各种API以及事件初识——笔记的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 美国式错觉
- 下一篇: 匹配查询(Match)