摘要:個人筆記在給在線簡歷添加特效過程中遇到的問題及解決方法一預覽頁面滾動元素的事件處理函數。語法參數是一個函數的引用。事件是當窗口發生滾動得時候觸發的事件返回文檔在垂直方向已滾動的像素值。
(個人筆記)在給在線簡歷添加js特效過程中遇到的問題及解決方法 一
github
預覽
元素的 scroll 事件處理函數。語法 element.onscroll = functionReference 參數 functionReference是一個函數的引用。
當該元素滾動時,會執行該函數。
window.onscroll事件是當窗口發生滾動得時候觸發的事件
Window.scrollY返回文檔在垂直方向已滾動的像素值。
MDN
點我觸發點擊事件
實際上點到了span上面
a.target是用戶操作的
a.currentTarget是監聽的
打印如下:
https://developer.mozilla.org...
下一個 兄弟子節點
let a = x.currentTarget; let brother = a.nextSibling; while (brother.nodeType === 3){ // brother.nodeType === 3說明brother還是回車或者文字或者空格,循環到他不是為止 brother = brother.nextSibling; }
或者
while (brother.tagName !== "UL"){ // brother.nodeType === 3說明brother還是回車或者文字或者空格,循環到他不是為止 brother = brother.nextSibling; }
tagName返回的是大寫的標簽名
獲取所有滿足條件的結點let liTags = document.querySelectorAll("nav.meau > ul > li");transition過渡注意點
過不不能操控的元素有margin,display
一般用來操控:
寬高width,height
定位后的right,left等
透明度opacity
陰影box-shadow
demo預覽地址
核心是transition(過渡),但是仍未解決transition對display無效的問題.
目前只做到,讓其透明讀變成0,近似消失.
代碼:
preventDefault()禁止默認動作transitionTest
a.onclick = function (x) { x.preventDefault();//禁止默認動作.即禁止a標簽的默認錨點跳轉動作 }a.href和 a.getAttribute("href")區別
aTags[i].onclick = function (x) { x.preventDefault();//禁止默認動作.即禁止a標簽的默認錨點跳轉動作 let a = x.currentTarget; console.log(a.href); console.log( a.getAttribute("href")); }
a.href返回的是帶域名的href的值
a.getAttribute("href")就返回href里面的值
弄清元素距離頁面頂部的距離和距離視口頂部的距離:
頁面頂部指的是整個網頁的頂部,即隨著頁面的滾動,元素距離頁面頂部的距離不會變化.
window.scrollX
window.scrollY是網頁滾動的距離,即視口頂部距離網頁頂部的距離.
為了跨瀏覽器兼容,請使用 window.pageXOffset 和 window.pageYOffset 代替 window.scrollX 和 window.scrollY。
Element.getBoundingClientRect().top是元素Element距離視口頂部的距離
參考這里Element.getBoundingClientRect()
element.offsetTop是元素頂部距離網頁最上層的距離
HTMLElement.offsetTop 為只讀屬性,它返回當前元素相對于其 offsetParent 元素的頂部的距離。
offsetTop
element.offsetTop等于Element.getBoundingClientRect().top + window.scrollX
aTags[i].onclick = function (x) { x.preventDefault();//禁止默認動作.即禁止a標簽的默認錨點跳轉動作 let a = x.currentTarget; // console.log(a.href); let href = a.getAttribute("href")//"#siteSkills" let element = document.querySelector(href); console.log("element.getBoundingClientRect().top為:"+element.getBoundingClientRect().top); console.log("(window.scrollY為:"+window.scrollY); console.log("上面兩個的和為"+(element.getBoundingClientRect().top+window.scrollY));//相加等于offsetTop console.log("element.offsetTop為:"+element.offsetTop)//只讀屬性 }window.scrollTo(x,y)滾動到文檔中的某個坐標.
窗口移動到相應位置(網頁左上角的移動到(x,y)
document.querySelector()document.querySelector()返回的是一個元素,
但是區別于:document.querySelectorAll("nav>ul>li>a")
返回的是數組
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/94885.html
摘要:個人筆記在給在線簡歷添加特效過程中遇到的問題及解決方法二預覽點擊菜單滾動動畫首頁目標位置當作終點坐標當前滾動到的距離當做起點是步數分步是每次重復都加的變量既要清除又要毫秒除以幀就是每走一步的時間庫緩動動畫緩動函數速查表庫搜索引入一個網站 (個人筆記)在給在線簡歷添加js特效過程中遇到的問題及解決方法 二 github預覽 點擊菜單滾動動畫首頁 let top = element.of...
摘要:不是一下子能看完綜合使用編程是一番怎樣的體驗學習筆記網站前端開發基礎算法題如何優雅地使用如何優雅地使用零度博客碼農網伯樂在線什么是頁面渲染國外先更到這,還有太多網址,先歸類一下再補充。 最近在復習JavaScript知識時遇到以前就不懂的閉包、上下文,雖然比以前理解深了一點,但還是懵,想緩一下。。就去看了其他。。把Git、Grunt、Gulp、jQuery、jQuery UI、Reac...
摘要:不是一下子能看完綜合使用編程是一番怎樣的體驗學習筆記網站前端開發基礎算法題如何優雅地使用如何優雅地使用零度博客碼農網伯樂在線什么是頁面渲染國外先更到這,還有太多網址,先歸類一下再補充。 最近在復習JavaScript知識時遇到以前就不懂的閉包、上下文,雖然比以前理解深了一點,但還是懵,想緩一下。。就去看了其他。。把Git、Grunt、Gulp、jQuery、jQuery UI、Reac...
閱讀 1456·2023-04-25 17:18
閱讀 1889·2021-10-27 14:18
閱讀 2129·2021-09-09 09:33
閱讀 1844·2019-08-30 15:55
閱讀 2020·2019-08-30 15:53
閱讀 3443·2019-08-29 16:17
閱讀 3432·2019-08-26 13:57
閱讀 1734·2019-08-26 13:46