摘要:原生實(shí)現(xiàn)簡(jiǎn)單的按鈕效果如圖準(zhǔn)備食材部分首頁(yè)我的更多典型的菜單布局,里面的表示的是觸摸彈出的小圓圈。
原生js實(shí)現(xiàn)簡(jiǎn)單的Ripple按鈕 效果如圖 準(zhǔn)備食材(html部分)
典型的菜單li布局,里面的span.circle表示的是觸摸彈出的小圓圈。
準(zhǔn)備輔料 (css部分)#nav { display: flex; } #nav li { position: relative; overflow: hidden; flex: 1; } li a { display: flex; flex-direction: column; justify-content: center; align-items: center; } .circle{ position: absolute; background: rgba(86,187,247,.1); width: 1px; height: 1px; top:50%; left: 50%; border-radius: 50%; } .circle.act{ animation: navCircle .4s; } @keyframes navCircle { from {transform: scale(0);border-radius: 50%;} to {transform:scale(200);border-radius: 50%;} }
我的思路是這樣的,給li相對(duì)定位,給小圓圈絕對(duì)定位,再給小圓圈添加動(dòng)畫navCircle,采用css3的縮放使其變大,至于為什么是200倍和.4s呢,經(jīng)過(guò)測(cè)試這樣更人性化,其余的倍數(shù)你們也可以試試。
大火烹飪 (js部分)var li = document.getElementById("nav").querySelectorAll("li"); var circle = document.getElementById("nav").querySelectorAll(".circle"); for(var i=0,len = li.length;i{ li[i].addEventListener("click",(e)=>{ circle[i].setAttribute("class","circle act"); circle[i].setAttribute("style","top:"+e.layerY+"px;left:"+e.layerX+"px"); }); li[i].addEventListener("touchend",()=>{ circle[i].setAttribute("class","circle"); }) })(i) }
代碼很簡(jiǎn)單,相信大家也猜到了,點(diǎn)擊li的時(shí)候給小圓圈添加class "act",并且設(shè)置小圓圈的起始位置,監(jiān)聽(tīng)觸摸結(jié)束的時(shí)候,取消class "act",有人肯定要問(wèn)了,為什么你不用touchstart呢,唉,因?yàn)闆](méi)有layerY這個(gè)屬性,找了半天都沒(méi)找到啊。
友情提示!touchend僅支持移動(dòng)端
結(jié)束做這個(gè)部分是因?yàn)槲覀儼沧縜pp里面有這個(gè)功能,所以我就想看看h5怎么做,開(kāi)始的思路是讓寬度和高度隨著時(shí)間變大,但是實(shí)現(xiàn)了之后感覺(jué)性能不好,所以才想到了直接增加倍數(shù)唄,于是這個(gè)功能變完美誕生了,開(kāi)始享用這份套餐把 !
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/50607.html
摘要:原生實(shí)現(xiàn)簡(jiǎn)單的按鈕效果如圖準(zhǔn)備食材部分首頁(yè)我的更多典型的菜單布局,里面的表示的是觸摸彈出的小圓圈。 原生js實(shí)現(xiàn)簡(jiǎn)單的Ripple按鈕 效果如圖 showImg(https://segmentfault.com/img/remote/1460000008807822?w=600&h=82); 準(zhǔn)備食材(html部分) ...
摘要:原生實(shí)現(xiàn)簡(jiǎn)單的按鈕效果如圖準(zhǔn)備食材部分首頁(yè)我的更多典型的菜單布局,里面的表示的是觸摸彈出的小圓圈。 原生js實(shí)現(xiàn)簡(jiǎn)單的Ripple按鈕 效果如圖 showImg(https://segmentfault.com/img/remote/1460000008807822?w=600&h=82); 準(zhǔn)備食材(html部分) ...
摘要:但是往往要引入一大堆和,其實(shí)在已有的項(xiàng)目中,可能只是想加一個(gè)這樣的按鈕,來(lái)增強(qiáng)用戶體驗(yàn),這些庫(kù)就顯得有些過(guò)于龐大了,同時(shí)由于是實(shí)現(xiàn),很多時(shí)候還要注意加載問(wèn)題。 前言 大家平時(shí)應(yīng)該經(jīng)常見(jiàn)到這種特效,很炫酷不是嗎 showImg(https://segmentfault.com/img/remote/1460000016740061?w=318&h=190); 這是谷歌Material D...
摘要:但是往往要引入一大堆和,其實(shí)在已有的項(xiàng)目中,可能只是想加一個(gè)這樣的按鈕,來(lái)增強(qiáng)用戶體驗(yàn),這些庫(kù)就顯得有些過(guò)于龐大了,同時(shí)由于是實(shí)現(xiàn),很多時(shí)候還要注意加載問(wèn)題。 前言 大家平時(shí)應(yīng)該經(jīng)常見(jiàn)到這種特效,很炫酷不是嗎 showImg(https://segmentfault.com/img/remote/1460000016740061?w=318&h=190); 這是谷歌Material D...
閱讀 2994·2021-09-10 10:50
閱讀 3194·2019-08-30 14:19
閱讀 3523·2019-08-29 17:31
閱讀 3252·2019-08-29 16:43
閱讀 2198·2019-08-29 14:05
閱讀 2095·2019-08-29 13:17
閱讀 2050·2019-08-26 13:25
閱讀 1766·2019-08-26 12:20