成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

(個(gè)人筆記)在給在線簡(jiǎn)歷添加js特效過(guò)程中遇到的問(wèn)題及解決方法 一

Yuanf / 1626人閱讀

摘要:個(gè)人筆記在給在線簡(jiǎn)歷添加特效過(guò)程中遇到的問(wèn)題及解決方法一預(yù)覽頁(yè)面滾動(dòng)元素的事件處理函數(shù)。語(yǔ)法參數(shù)是一個(gè)函數(shù)的引用。事件是當(dāng)窗口發(fā)生滾動(dòng)得時(shí)候觸發(fā)的事件返回文檔在垂直方向已滾動(dòng)的像素值。

(個(gè)人筆記)在給在線簡(jiǎn)歷添加js特效過(guò)程中遇到的問(wèn)題及解決方法 一

github
預(yù)覽

頁(yè)面滾動(dòng)demo
元素的 scroll 事件處理函數(shù)。

語(yǔ)法 element.onscroll = functionReference 參數(shù) functionReference是一個(gè)函數(shù)的引用。
當(dāng)該元素滾動(dòng)時(shí),會(huì)執(zhí)行該函數(shù)。

window.onscroll事件是當(dāng)窗口發(fā)生滾動(dòng)得時(shí)候觸發(fā)的事件

Window.scrollY返回文檔在垂直方向已滾動(dòng)的像素值。
MDN

點(diǎn)我觸發(fā)點(diǎn)擊事件

實(shí)際上點(diǎn)到了span上面
a.target是用戶操作的
a.currentTarget是監(jiān)聽的
打印如下:

nodetype

https://developer.mozilla.org...
下一個(gè) 兄弟子節(jié)點(diǎn)

let a = x.currentTarget;
            let brother = a.nextSibling;
            while (brother.nodeType === 3){
                // brother.nodeType === 3說(shuō)明brother還是回車或者文字或者空格,循環(huán)到他不是為止
                brother = brother.nextSibling;
            }

或者

while (brother.tagName !== "UL"){
                // brother.nodeType === 3說(shuō)明brother還是回車或者文字或者空格,循環(huán)到他不是為止
                brother = brother.nextSibling;
            }

tagName返回的是大寫的標(biāo)簽名

獲取所有滿足條件的結(jié)點(diǎn)
let liTags = document.querySelectorAll("nav.meau > ul > li");
transition過(guò)渡注意點(diǎn)

過(guò)不不能操控的元素有margin,display

一般用來(lái)操控:
寬高width,height
定位后的right,left
透明度opacity
陰影box-shadow

利用純CSS實(shí)現(xiàn)子菜單的滑動(dòng)出現(xiàn)與滑動(dòng)消失

demo預(yù)覽地址
核心是transition(過(guò)渡),但是仍未解決transition對(duì)display無(wú)效的問(wèn)題.
目前只做到,讓其透明讀變成0,近似消失.

代碼:




    
    transitionTest
    







preventDefault()禁止默認(rèn)動(dòng)作
a.onclick = function (x) {
            x.preventDefault();//禁止默認(rèn)動(dòng)作.即禁止a標(biāo)簽的默認(rèn)錨點(diǎn)跳轉(zhuǎn)動(dòng)作
        }
a.href和 a.getAttribute("href")區(qū)別
aTags[i].onclick = function (x) {
            x.preventDefault();//禁止默認(rèn)動(dòng)作.即禁止a標(biāo)簽的默認(rèn)錨點(diǎn)跳轉(zhuǎn)動(dòng)作
            let a = x.currentTarget;
            console.log(a.href);
           console.log( a.getAttribute("href"));

        }

a.href返回的是帶域名的href的值
a.getAttribute("href")就返回href里面的值

Element.getBoundingClientRect()

弄清元素距離頁(yè)面頂部的距離和距離視口頂部的距離:
頁(yè)面頂部指的是整個(gè)網(wǎng)頁(yè)的頂部,即隨著頁(yè)面的滾動(dòng),元素距離頁(yè)面頂部的距離不會(huì)變化.

window.scrollX

window.scrollY是網(wǎng)頁(yè)滾動(dòng)的距離,即視口頂部距離網(wǎng)頁(yè)頂部的距離.

為了跨瀏覽器兼容,請(qǐng)使用 window.pageXOffsetwindow.pageYOffset 代替 window.scrollXwindow.scrollY

Element.getBoundingClientRect().top是元素Element距離視口頂部的距離
參考這里Element.getBoundingClientRect()

element.offsetTop是元素頂部距離網(wǎng)頁(yè)最上層的距離

HTMLElement.offsetTop 為只讀屬性,它返回當(dāng)前元素相對(duì)于其 offsetParent 元素的頂部的距離。

offsetTop

element.offsetTop等于Element.getBoundingClientRect().top + window.scrollX

aTags[i].onclick = function (x) {
            x.preventDefault();//禁止默認(rèn)動(dòng)作.即禁止a標(biāo)簽的默認(rèn)錨點(diǎn)跳轉(zhuǎn)動(dòng)作
            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("上面兩個(gè)的和為"+(element.getBoundingClientRect().top+window.scrollY));//相加等于offsetTop
            console.log("element.offsetTop為:"+element.offsetTop)//只讀屬性

        }

window.scrollTo(x,y)滾動(dòng)到文檔中的某個(gè)坐標(biāo).

窗口移動(dòng)到相應(yīng)位置(網(wǎng)頁(yè)左上角的移動(dòng)到(x,y)

document.querySelector()

document.querySelector()返回的是一個(gè)元素,

但是區(qū)別于:document.querySelectorAll("nav>ul>li>a")
返回的是數(shù)組

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/94885.html

相關(guān)文章

  • (個(gè)人筆記)在給在線簡(jiǎn)歷添加js特效過(guò)程遇到問(wèn)題解決方法

    摘要:個(gè)人筆記在給在線簡(jiǎn)歷添加特效過(guò)程中遇到的問(wèn)題及解決方法二預(yù)覽點(diǎn)擊菜單滾動(dòng)動(dòng)畫首頁(yè)目標(biāo)位置當(dāng)作終點(diǎn)坐標(biāo)當(dāng)前滾動(dòng)到的距離當(dāng)做起點(diǎn)是步數(shù)分步是每次重復(fù)都加的變量既要清除又要毫秒除以幀就是每走一步的時(shí)間庫(kù)緩動(dòng)動(dòng)畫緩動(dòng)函數(shù)速查表庫(kù)搜索引入一個(gè)網(wǎng)站 (個(gè)人筆記)在給在線簡(jiǎn)歷添加js特效過(guò)程中遇到的問(wèn)題及解決方法 二 github預(yù)覽 點(diǎn)擊菜單滾動(dòng)動(dòng)畫首頁(yè) let top = element.of...

    CarlBenjamin 評(píng)論0 收藏0
  • 前端開發(fā)學(xué)習(xí)-網(wǎng)址記錄

    摘要:不是一下子能看完綜合使用編程是一番怎樣的體驗(yàn)學(xué)習(xí)筆記網(wǎng)站前端開發(fā)基礎(chǔ)算法題如何優(yōu)雅地使用如何優(yōu)雅地使用零度博客碼農(nóng)網(wǎng)伯樂(lè)在線什么是頁(yè)面渲染國(guó)外先更到這,還有太多網(wǎng)址,先歸類一下再補(bǔ)充。 最近在復(fù)習(xí)JavaScript知識(shí)時(shí)遇到以前就不懂的閉包、上下文,雖然比以前理解深了一點(diǎn),但還是懵,想緩一下。。就去看了其他。。把Git、Grunt、Gulp、jQuery、jQuery UI、Reac...

    CatalpaFlat 評(píng)論0 收藏0
  • 前端開發(fā)學(xué)習(xí)-網(wǎng)址記錄

    摘要:不是一下子能看完綜合使用編程是一番怎樣的體驗(yàn)學(xué)習(xí)筆記網(wǎng)站前端開發(fā)基礎(chǔ)算法題如何優(yōu)雅地使用如何優(yōu)雅地使用零度博客碼農(nóng)網(wǎng)伯樂(lè)在線什么是頁(yè)面渲染國(guó)外先更到這,還有太多網(wǎng)址,先歸類一下再補(bǔ)充。 最近在復(fù)習(xí)JavaScript知識(shí)時(shí)遇到以前就不懂的閉包、上下文,雖然比以前理解深了一點(diǎn),但還是懵,想緩一下。。就去看了其他。。把Git、Grunt、Gulp、jQuery、jQuery UI、Reac...

    anonymoussf 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<