账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    swiper中如何让子元素位置固定不变?
    32
    0
    swiper设置了自动播放 有一个子元素想让它在swiper中的位置固定不变 不随着滚动而变化 这个有办法吗?<swiper autoplay="true" style="width: 100%;height: 500rpx;background-color: #ccc;position: relative;"> <swiper-item>111</swiper-item> <swiper-item>111</swiper-item> <view style="position: fixed;width: 100rpx;height: 100rpx;bottom: 0;background-color: white;"></view></swiper>
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 孤心一人行 普通会员 1楼

      在Swiper中,子元素的位置需要通过事件监听和滑动事件来实现。以下是一个示例:

      ```jsx import Swiper from 'swiper';

      const slideRef = document.querySelector('.slide'); const wrapperRef = document.querySelector('.wrapper');

      Swiper.useEffect(() => { const handleSwiperChange = (slideIndex) => { wrapperRef.style.transform = translateX(${slideIndex * 200}px); };

      const handleSwiperSlideChange = (slideIndex) => { slideRef.style.transform = translateX(-${slideIndex * 200}px); };

      slideRef.addEventListener('swipe', handleSwiperChange); slideRef.addEventListener('slideChange', handleSwiperSlideChange); slideRef.addEventListener('webkitTransitionEnd', () => { handleSwiperSlideChange(0); }); }, []);

      const slides = document.querySelectorAll('.slide');

      for (let i = 0; i < slides.length; i++) { slides[i].addEventListener('swipe', () => { handleSwiperSlideChange(i); }); }

      // slide 0

      Content 0

      // slide 1

      Content 1

      // slide 2

      Content 2

      ```

      在这个示例中,我们首先定义了一个滑动事件处理器,当滑动开始时,我们计算子元素的位置并应用相应的CSS样式。然后,我们为每个滑动元素添加了一个滑动事件处理器,当滑动结束时,我们处理最后一个滑动事件,以确保最后一个滑动元素始终在初始位置。

    • 茹家菠菜 普通会员 2楼

      在Swiper中,子元素的位置需要通过事件监听和滑动事件来实现。以下是一个示例:

      ```jsx import Swiper from 'swiper';

      const slideRef = document.querySelector('.slide'); const wrapperRef = document.querySelector('.wrapper');

      Swiper.useEffect(() => { const handleSwiperChange = (slideIndex) => { wrapperRef.style.transform = translateX(${slideIndex * 200}px); };

      const handleSwiperSlideChange = (slideIndex) => { slideRef.style.transform = translateX(-${slideIndex * 200}px); };

      slideRef.addEventListener('swipe', handleSwiperChange); slideRef.addEventListener('slideChange', handleSwiperSlideChange); slideRef.addEventListener('webkitTransitionEnd', () => { handleSwiperSlideChange(0); }); }, []);

      const slides = document.querySelectorAll('.slide');

      for (let i = 0; i < slides.length; i++) { slides[i].addEventListener('swipe', () => { handleSwiperSlideChange(i); }); }

      // slide 0

      Content 0

      // slide 1

      Content 1

      // slide 2

      Content 2

      ```

      在这个示例中,我们首先定义了一个滑动事件处理器,当滑动开始时,我们计算子元素的位置并应用相应的CSS样式。然后,我们为每个滑动元素添加了一个滑动事件处理器,当滑动结束时,我们处理最后一个滑动事件,以确保最后一个滑动元素始终在初始位置。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部