Using a GIF as a Preloader with Controlled Display Frequency in Webflow: Step-by-Step Tutorial

Published on
May 13, 2019

How to Use a GIF as a Preloader and Display it Only Once per Day in Webflow

Are you looking to add some visual flair to your website by using a GIF as a preloader but want to avoid overwhelming your visitors with the animation every time they load the page? In this tutorial, we'll show you how to achieve this effect in Webflow by using a GIF as a preloader and controlling its display frequency using cookies.

Understanding the Concept

Before we dive into the practical implementation, let's understand the concept behind using a GIF as a preloader and controlling its display frequency. When a user visits a website, they typically encounter a preloader animation that signifies the loading process. By using a GIF for this purpose, you can add an engaging visual element to the loading experience.

However, you may not want the preloader animation to appear every time the page is reloaded, as it could cause user fatigue. Additionally, you might want to ensure that the preloader animation is only displayed once per day to strike a balance between user experience and visual appeal.

To accomplish this, we'll leverage Webflow's class system, along with JavaScript and cookies, to control the display of the preloader GIF. By applying specific classes to page elements and utilizing JavaScript to manage cookies and the GIF animation, we can create a seamless loading experience for website visitors.

Step-by-Step Implementation

Setting Up Classes in Webflow

In Webflow's Designer interface, we'll start by applying classes to page elements to facilitate the implementation of our preloader animation.

  1. Loading Wrapper Class: Create a class called "loading-wrapper," which will be applied to the container element that holds the preloader GIF.

  2. GIF Class: Create a class called "preloader-gif," which will be applied to the GIF itself within the loading wrapper.

By using these classes, we'll be able to style and manipulate the preloader elements with ease.

Uploading and Configuring the GIF

  1. Upload the GIF: With the classes in place, we'll upload the preloader GIF to the Webflow project.

  2. Loop Count: Configure the GIF to loop only once. By setting the loop count to one, we ensure that the GIF plays the animation a single time, which aligns with our goal of displaying the preloader only once per visit.

Managing Cookies and JavaScript Implementation

Now, we'll delve into the JavaScript implementation to control the display of the preloader GIF using cookies.

  1. Integrating JS Cookie Library: Include the JS Cookie library within the project. This library will enable us to work with cookies to track the user's visit frequency.

  2. Defining the Play GIF Function: Within the custom JavaScript code, define a function called "playGIF" that manages the display of the preloader GIF.

  3. Preventing GIF Caching: Within the "playGIF" function, implement a mechanism to prevent the browser from caching the preloader GIF. By appending a random query string to the GIF's source attribute, we can force the browser to treat the GIF as a new file every time, ensuring it plays from the beginning without being affected by caching.

  4. Setting the Display Frequency: Utilize cookies to track how often the preloader GIF should be displayed. By setting a cookie with a 24-hour expiration and checking for its presence before displaying the preloader, we can ensure that the GIF is shown only once per day for each user.

CSS and jQuery Integration

Having configured the classes and JavaScript logic, we'll now integrate CSS and utilize jQuery to apply the preloader animation based on our defined logic.

  1. Setting CSS for Loading Wrapper: Use CSS to style the loading wrapper using the "display: flex" property to center the GIF within it.

  2. Using jQuery for Animation Control: Employ jQuery to call the "playGIF" function on the preloader GIF element. This allows us to dynamically manipulate the GIF's source attribute and ensure it plays from the beginning on each page load.

  3. Handling GIF Display Frequency: With jQuery, implement logic to check for the presence of the cookie that determines whether the preloader GIF should be displayed. If the cookie is present, the preloader animation will be skipped, effectively limiting its display to once per day for each user.

Optional Customization and Clearing Cookies

  1. Custom Features: Optionally, you can add features such as a button to manually clear cookies if needed. However, this is not essential for the core functionality of the preloader animation.

Conclusion

By combining Webflow's design capabilities with JavaScript and cookie management, you can effectively use a GIF as a preloader and control its display frequency. This approach allows you to enhance the loading experience for your website visitors while being mindful of not overwhelming them with repetitive animations.

Through careful class organization, GIF configuration, JavaScript implementation, and CSS and jQuery integration, you can create a visually engaging and user-friendly preloader that respects the user's browsing experience. Remember to optimize the GIF size and frame count to ensure smooth loading and minimize any impact on the site's performance.

With this knowledge, you can implement a GIF preloader with controlled display frequency in your Webflow projects, enhancing the overall user experience without compromising performance. Start experimenting with this approach and discover the positive impact it can have on your website's loading process and user engagement.