移動端效果之CellSwiper

2022-03-06 11:45:49 字數 1299 閱讀 5091

**看這裡:github

移動端效果之swiper

移動端效果之picker

移動端效果之indexlist

萌萌的卡洛奇

我這個月要來看你啦

now標為未讀

刪除**中類名為your-code的地方是你自己要加的**。

做乙個效果之前,我們先需要分析一下我們應該怎麼做,這樣才能有的放矢。比如這個效果,由於採用的是覆蓋式抽拉,因此,需要兩個層,上面乙個層負責滑動,下面乙個層固定,當上面的層滑動完成之後,下面的自然就顯示出來了。

因此有兩個點:

定位好層級之後,下面的按鈕層就可以基本不用管了,主要的操作還是滑動。滑動可以借鑑之前的swiper**,這裡不作贅述。

1.2.1 計算高度和按鈕組的寬度

var el = document.queryselector('#content');

var btn = document.queryselector('#btngroup');

function getbtngroupwidth()

1.2.2 滑動
// 滑動中 ontouchmove

// ...

// 這裡計算的是上層滑動的距離範圍

// 滑動最遠不能超過按鈕組寬度

// 滑動最小距離就是不滑動,也就是0

offsetleft = math.min(math.max(-btngroupwidth, offsetleft), 0);

translate(el, offsetleft);

// ...

// 滑動結束 ontouchend

// ...

// 如果是tap, 直接關閉

if (dragduration < 300)

if (firetap)

}var distancex = math.abs(offsetleft);

// 如果向左滑動超過了按鈕組的40%,辣麼在鬆手的一刻自動滑開

// 反之如果向右滑動超過了按鈕組的40%就關閉

if (distancex > btngroupwidth * 0.4 && offsetleft < 0) else

// ...

整個流程來說相當於swiper還是相當簡單的,可以說其實就是乙個swiper的簡化版本。

移動端效果之swiper

最近在做移動端方面運用到了餓了麼的vue前端元件庫,因為不想單純用元件而使用它,故想深入了解一下實現原理。後續將會繼續研究一下其他的元件實現原理,有興趣的可以關注下。在這裡 戳我 父容器overflow hidden 子頁面transform translatex 100 width 100 由於所...

移動端效果之ScrollList

請看這裡 github 移動端效果之swiper 移動端效果之picker 移動端效果之cellswiper 移動端效果之indexlist id loadmore class loadmore id loadmorecontent class loadmore content class page...

移動端彈性效果

布局一 定義頁面整體高度為100 然後使用 position absolute 布局可解決 header 彈性滾動區域 footer html,body wrap header,footer header footer main 布局二 定義頁面整體高度為100 然後使用 display flex ...