色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

在swiper mobile上水平滾動時處理垂直頁面滾動

吉茹定2年前8瀏覽0評論

我已經在我最喜歡的項目中實現了一個swiper。除了你試圖在移動設備上滑動的部分(尤其是在iOS上,我正在iPhone 13 mini上測試),一切看起來都很棒。滾動工作,但如果你只是重復滑動手勢,頁面會根據滑動角度開始上下移動,我不知道如何修復它。感覺像是滑動器本身太敏感了。

我試著擺弄短擦拭巾和長擦拭巾以及ms,但都無濟于事。我也嘗試過觸摸動作:沒有;在某些swiper事件上,如過渡開始或過渡結束,但它仍然沒有我想要的感覺。我唯一成功實現的是在swiper上阻止TouchStart事件的垂直滾動,但它完全禁用了垂直滾動,但我仍然希望在需要時能夠從Swiper上滾動開。

作為我試圖實現的一個例子,當谷歌搜索一個演員時,你可以看看移動谷歌搜索頁面,你可以看到一個電影轉盤,感覺很好,運行流暢。我怎樣才能實現這一點?

這是我的刷卡代碼:

<Swiper className={`${styles.swiper} ${mobileScrollLock ? styles['swiper-scroll-lock'] : ''}`}
                        onSwiper={setSwiperInstance}
                        onTouchEnd={onTouchEnd}
                        onBeforeTransitionStart={() => setMobileScrollLock(true)}
                        onTransitionEnd={() => setMobileScrollLock(false)}
                        modules={[Mousewheel, FreeMode]}
                        spaceBetween={10}
                        slidesPerView='auto'
                        mousewheel
                        freeMode={{
                            enabled: true,
                            sticky: true,
                        }}
                    >
                        {loading.newPosts && <SwiperSlide className={styles['post-item-spinner']} key='spinner'><Spinner /></SwiperSlide>}
                        {postsData && postsData.map((post: TStory) => {
                            return <SwiperSlide className={styles['swiper-slide']} key={post.id}>
                                <PostItem post={post} />
                            </SwiperSlide>
                        })}
                        {loading.oldPosts && <SwiperSlide className={styles['post-item-spinner']} key='spinner'><Spinner /></SwiperSlide>}
                    </Swiper>

下面是使用的函數:

const onTouchEnd = (swiper: SwiperType) => {
    if (swiper.progress < 0) checkNewPosts();
    if (-swiper.translate > swiper.snapGrid[swiper.snapGrid.length - 1] + 100 && !limit) {
        setLoading({ postFeed: false, newPosts: false, oldPosts: true });
        addOlderPosts();
    }
}

const enableScroll = () => window.onscroll = null;
const disableScroll = () => {
    const scrollTop = window.pageYOffset || document.documentElement.scrollTop;
    window.onscroll = () => window.scroll({ top: scrollTop });
}