(6)uniapp左側滑動菜單欄(實現(xiàn)手指右滑收起菜單)

功能:點擊首頁菜單按鈕,滑出菜單欄,點擊空白處或者手指右滑收起。
html結構:

<!-- 遮罩層 -->
<view class="mask" v-if="mask" @tap="_mask" @touchstart="touchS" @touchmove="touchM" @touchend="touchE" :class="[ siderClass ? 'animation-fade-out' : 'animation-fade' ]"></view>

<!-- 菜單欄-->
<view class="side_bar" v-if="mask" :class="[ siderClass ? 'animation-slide-right-out' : 'animation-slide-left' ]" :style="{ left : leftSlide }" @touchstart="touchS" @touchend="touchE">
<view>

JS:

// data中定義
data() {
    return {
         mask: false, // 遮罩層切換
     siderClass: false,  // 樣式切換
     startX: '', // 觸摸開始位置
     endX: '', // 觸摸結束位置
    }
}
    methods: {

        // 手指觸摸事件 用于菜單左滑
        touchS:function(e) {
            _self.startX = e.touches[0].clientX
            // console.log('開始' + e.touches[0].clientX );
        },
        touchE:function(e){
            _self.endX = e.changedTouches[0].clientX;
            // 觸摸開始到停止 的差值
            var disX = _self.startX - _self.endX;
            if(disX >= 0) {
                _self.siderClass = true
                setTimeout(()=>{
                    _self.mask = false
                },300)
            }
        },
        // 菜單盒子的遮罩層
        _mask() {
            _self.siderClass = true
            setTimeout(()=>{
                _self.mask = false
            },350)
        }
            }

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 天還沒亮,已經(jīng)出門,來到了一個小市場,已經(jīng)把鋪地紙打開,把賣的被子從車上卸了下來后,哥哥便開車走了,趕著去另一個地...
    健傾心語閱讀 2,598評論 0 1
  • “不管你經(jīng)歷了怎樣的撕心裂肺,早上醒來這座城市依然車水馬龍,人語喧囂,沒有人在意你失去了什么,沒有人關心你的不快樂...
    雨落飛揚閱讀 516評論 0 0
  • 你認為愛情是什么 是山盟海誓? 是天涯海角? 是死心塌地? 或許在愛情初期, 確實是這樣的 那么之后呢? 就剩下柴...
    笑笑_feng閱讀 133評論 0 0

友情鏈接更多精彩內容