Are you a GenerateCustomer?

Do you have an active GP Premium or GenerateBlocks Pro license key?

Create a GenerateSupport account for GeneratePress and GenerateBlocks support in one dedicated place.

Create an account
Already have a GenerateSupport account? Login

Just browsing?

Feel free to browse the forums. Support for our free versions is provided on WordPress.org (GeneratePress, GenerateBlocks).

Want to become a premium user? Learn more below.

GB2.5 – carousel infinite loop not working on firefox

  • GB pro 2.5, rc1, GB 2.2 rc1

    I create a basic carousel and add images to the slides then enable ‘infinite loop’. These are the only changes to the basic carousel.

    In the firefox browser the infinite loop doesn’t work.

    The arrow keys will advance the slides until you are back on slide 1, then the arrow keys don’t work anymore. They won’t go forward or backwards.

    Tested on firefox 145.0.2 on windows PC

  • Hi there,

    I checked your page in Firefox on a Macbook, and I also asked my colleagues to check it in Firefox on a Windows machine; neither of us see the issue you described. The carousel with the infinite loop is working fine.

  • Hi Ying

    Thanks for checking for me.

    Since it isn’t an issue for you I investigated further and realised that it is because I have “Show animations in windows” turned OFF in windows on my PC

    I am disappointed that GB would disable an intentional scroll based on that setting. Is there a way for GB to allow the loop even for people who have their windows animations turned off?

    Odd that it is only an issue in firefox and not the other browsers.

  • Hi there,

    Thank you for reporting this issue. I’ve investigated the problem and can explain what’s happening.

    When you have “Show animations in Windows” turned off on your PC, your browser respects this accessibility preference through a setting called prefers-reduced-motion. Our carousel honors this by reducing all animation durations to nearly instant transitions (0.001ms) for accessibility compliance.

    Unfortunately, the underlying carousel library we use (Swiper.js) has a limitation with how it handles infinite loop mode. Swiper’s loop functionality relies on detecting when slide transitions complete using browser events called transitionend. When transitions are set to extremely short durations, Firefox has a known issue where these events don’t fire reliably, causing Swiper’s loop mechanism to break.

    This is specifically a Firefox + Swiper combination issue – the Swiper library doesn’t properly handle infinite loops when reduced motion is active in Firefox. Other browsers like Chrome may handle this more gracefully, but Firefox is stricter about how it processes these ultra-short transitions.

  • Thanks for the detailed explanation Alvin

    I guess the real issue is that no other slider library I’ve used respects the prefers-reduced-motion setting (I’ve used quite a few different sliders in various projects, some js libraries and some wordpress plugins). So it is very frustrating not being able to properly develop and test the GB sliders without turning off my windows reduced motion

    I can see the GB point of view – i.e. to respect browser settings, but browsers seem to be particularly stupid at blindly applying the OS prefers-reduced-motion rule and not allowing an override in the browser.

    Note that even the swiper demo page doesn’t honor the prefers-reduced-motion setting
    https://swiperjs.com/demos/200-infinite-loop/core

    Anyway, given that is the way GB is going to be, then I have to find a workaround. So to help anyone else with the same issue I found that as a compromise, if you set “Show animations in windows” to ON in windows settings then you can actually disable quite a few of the animations settings manually:

    Search for ‘advanced system settings’ in windows and in ‘Performance’ settings you can uncheck all the ‘fade’ and ‘animate’ options except ‘Animate controls and elements inside windows’
    as per image:

    windows animation settings

    So that stops quite a bit of ‘motion’ stuff in windows without triggering the prefers-reduced-motion option in the browser.
    (Note that the above settings are on Windows 10 – they may look a little different on windows 11)

  • No problem, and thank you for sharing your workaround.

    The dev team is currently investigating this issue, and we hope to find a solution that works seamlessly for everyone.

  • Hi Alvind,

    Linking to a similar issue with iOS just in case there is a chance for a real world solution.

    https://generate.support/topic/carousel-not-autoplaying-on-mobile/

    Thanks,

    Ian

Viewing 8 posts - 1 through 8 (of 8 total)
  • You must be logged in to reply to this topic.