寫(xiě)在前面
最近在做移動(dòng)端方面運(yùn)用到了餓了么的vue前端組件庫(kù),因?yàn)椴幌雴渭冇媒M件而使用它,故想深入了解一下實(shí)現(xiàn)原理。后續(xù)將會(huì)繼續(xù)研究一下其他的組件實(shí)現(xiàn)原理,有興趣的可以關(guān)注下。
代碼在這里:戳我
1. 說(shuō)明
父容器overflow:hidden;,子頁(yè)面transform:translateX(-100%);width:100%;
2. 核心解析
2.1 頁(yè)面初始化
由于所有頁(yè)面都在手機(jī)屏幕左側(cè)一個(gè)屏幕寬度的位置,因此最開(kāi)始的情況是頁(yè)面中看不到任何一個(gè)子頁(yè)面,所以第一步應(yīng)該設(shè)置應(yīng)該顯示的子頁(yè)面,默認(rèn)情況下defaultIndex:0
function reInitPages() { // 得出頁(yè)面是否能夠被滑動(dòng) // 1. 子頁(yè)面只有一個(gè) // 2. 用戶(hù)手動(dòng)設(shè)置不能滑動(dòng) noDragWhenSingle = true noDrag = children.length === 1 && noDragWhenSingle; var aPages = []; var intDefaultIndex = Math.floor(defaultIndex); var defaultIndex = (intDefaultIndex >= 0 && intDefaultIndex < children.length) ? intDefaultIndex : 0; // 得到當(dāng)前被激活的子頁(yè)面索引 index = defaultIndex; children.forEach(function(child, index) { aPages.push(child); // 所有頁(yè)面移除激活class child.classList.remove('is-active'); if (index === defaultIndex) { // 給激活的子頁(yè)面加上激活class child.classList.add('is-active'); } }); pages = aPages; }
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。
網(wǎng)站名稱(chēng):移動(dòng)端效果之Swiper詳解-創(chuàng)新互聯(lián)
新聞來(lái)源:http://jinyejixie.com/article0/dcijoo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開(kāi)發(fā)、網(wǎng)站建設(shè)、電子商務(wù)、商城網(wǎng)站、響應(yīng)式網(wǎng)站、網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容