The image carousel I created using Bootstrap seems to be slipping twice on mobile devices for each slide

Describing this issue without visual reference is challenging, so I've provided a link to the website for you to see it firsthand.

The Bootstrap image slide on my desktop operates flawlessly, but on my iPhone X, each slide appears to transition twice or bounce during transitions.

Interestingly, this problem does not occur when viewing it on an iPhone 7 - where it functions perfectly.

This puzzling behavior has stumped me, and despite researching extensively, I haven't found any similar reports of this issue...

It seems like a specific iPhone problem, and the fact that it works on the iPhone 7 but not the iPhone X might hold the key to solving it?

Website Link

/* Jumbotron Carousel */

.preload {
  display: none;
}

.carousel-inner .carousel-item {
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
  transition: transform 0.4s ease, -ms-transform 0.4s ease;
  transition: transform 0.4s ease, -o-transform 0.4s ease;
  transition: transform 0.4s ease, -moz-transform 0.4s ease;
}

.jumbotron .container {
  height: 500px;
}

.carousel-inner {
  width: 100%;
  height: 450px;
}

.carousel-indicators:hover {
  cursor: pointer;
}

.carousel-control-next {
  height: 0;
  top: 50%;
}

.carousel-control-prev {
  height: 0;
  top: 50%;
}

.carousel-control-prev-icon {
  opacity: none;
}

.carousel-control-next-icon {
  opacity: 2;
}

#slide1 {
  background-color: black;
  background-image: url(/images/home1.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  color: white;
}

#slide2 {
  background-color: black;
  background-image: url(/images/home2.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  color: white;
}

#slide3 {
  background-color: black;
  background-image: url(/images/home3.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  color: white;
}

.carousel-indicators {
  bottom: -10%;
  position: absolute;
}

#jumbo-btn {
  background-color: #e4381C;
  border-color: #e4381C;
}
<!-- Carousel -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<div id="myslider" class="carousel slide" data-ride="carousel">

  <!-- Indicators -->
  <ul class="carousel-indicators">
    <li data-target="#myslider" data-slide-to="0" class="active"></li>
    <li data-target="#myslider" data-slide-to="1"></li>
    <li data-target="#myslider" data-slide-to="2"></li>
  </ul>

  <!-- The slideshow -->
  <div class="carousel-inner">
    <div class="carousel-item active">
      <div id="slide1" class="jumbotron">
        <div class="container">
          <div class="row">
            <div id="slide1-text" class=" col-md-6 col-sm-12">
              <h1>text</h1>
              <p>text</p>
              <a id="jumbo-btn" class="btn btn-primary btn-sm" href="about.html" role="button">Learn more</a>
            </div>
          </div>

        </div>
      </div>
    </div>
    <div class="carousel-item">
      <div id="slide2" class="jumbotron">
        <div class="container">
          <div class="row">
            <div class=" col-md-6 col-sm-12">
              <h1>text</h1>
              <p>text</p>
              <a id="jumbo-btn" class="btn btn-primary btn-sm" href="#" role="button">View Stock</a>
            </div>
          </div>

        </div>
      </div>
    </div>
    <div class="carousel-item">
      <div id="slide3" class="jumbotron">
        <div class="container">
          <div class="row">
            <div class=" col-md-6 col-sm-12">
              <h1>text</h1>
              <p>text</p>
              <a id="jumbo-btn" class="btn btn-primary btn-sm" href="about.html" role="button">Learn more</a>
            </div>
          </div>

        </div>
      </div>
    </div>
  </div>
  <!-- The slideshow END -->

  <!-- Left and right controls -->
  <a class="carousel-control-prev" href="#myslider" data-slide="prev">
    <span class="carousel-control-prev-icon"></span>
  </a>
  <a class="carousel-control-next" href="#myslider" data-slide="next">
    <span class="carousel-control-next-icon"></span>
  </a>
  <!-- Left and right controls END -->

</div>
<!-- Carousel END -->

Answer №1

Encountering the same issue with the most recent version of bootstrap... The content is sliding twice.

To solve this, I implemented a custom slide-fade effect as detailed in this guide:

Answer №2

It seems like the problem might be tied to the specific version of Bootstrap 4 that you are currently using. Upgrading to the latest version, 4.5.2, should help resolve this issue.

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Transform the look of your bootstrap 5 inputs by making them dark-themed

I have a feature in my app that allows users to switch between light and dark modes. Currently, I am using Bootstrap 5 form-control inputs and want to customize their background color based on the mode selected. Which CSS classes do I need to target in or ...

Adjusting image dynamically based on conditions

I need to dynamically display images on my HTML based on specific conditions using TypeScript. In my TypeScript file: styleArray = ["Solitary", "Visual","Auditory","Logical","Physical","Social","Verbal",]; constructor(){ for (var i = 0; this.sty ...

submitting a POST request with JSON payload including an array

Resolved. To solve this issue, you need to set the contentType to 'application/json' and use JSON.stringify(obj) instead of obj. However, keep in mind that you may need to adjust how you retrieve the data on your server, depending on the language ...

Ways to Deduct 10 Days from a Date using JavaScript

After receiving some helpful suggestions, I managed to solve my date issue by using moment.js. Here is the snippet of code where I implemented moment.js: var preorderdate = moment(date).subtract('days',10).format('MMMM D, YYYY'); var r ...

Ways to align images of the same size in a gallery using the margin: auto property

I have an image gallery within a div element named "container" with a specified width:70%. I need the images to be justified with auto margins. This is the HTML code I am using: (There are 4 images in total) <div class="container"> < ...

Arrangement of HTML divs and styling classes

I have been experimenting with divs and classes in order to achieve proper alignment of text on my website. Currently, I am working with 2 classes that I would like to display side by side to create 2 columns. However, the right column containing the text ...

Presented is the Shield UI JavaScript sparklines chart

I'm experimenting with the new lightweight ShieldUI Sparklines chart. I've copied the code directly from this page: Now, when I try to run it on my computer, I'm encountering an unexpected issue. I can see text, but the chart itself is not ...

Analyzing an array through its sub arrays

Imagine we are dealing with an array of varying length and we need to process it in chunks of maximum size 100, aiming to use the fewest number of chunks. For example, if the array's length is 241, we would need to divide it into 3 subarrays: 41, 100, ...

What is the method for determining the total count of elements within an HTML using Selenium WebDriver in conjunction with Autohotkey?

I am currently working on a project that requires me to determine the total number of items in an HTML page based on a specified class. My tools of choice for this task are Selenium and Autohotkey. Despite extensive research on the topic, I have yet to fi ...

Tips for simulating or monitoring a function call from a separate file

Within my codebase, there is a function that is triggered upon submission. After the payload has been posted, I aim to execute a function located in a distinct file named showResponseMessage: Contact.js import { onValueChangeHandler, showResponseMessage, ...

Welcome to the NGINX Default Landing Page

In my NGINX server, the index page is located in subfolders rather than at the root of the site (e.g. /root/pages/htmls/index.html). How can I configure index.html to be the default webpage for the site? ...

Is there a way to override the padding of a container?

Working with Wordpress for the first time has been quite a challenge. Adjusting to everything is causing me some major headaches. So, I've got this container div and added a lazy 10px padding. However, for the theme I'm attempting to develop, I ...

mapping buttons to images based on dynamic conditions

In my folder, I have over 1000 files. Using opendir, readdir, and is_dir, I can display the thumbnails of these files in my browser. Each thumbnail also has a corresponding button assigned to it. What I'm looking to do now is delete the 500th image wh ...

Retrieve a specified quantity of JSON data from an external API

Dealing with a recently received API from an external source: (please note: the data returned is extensive) I'm aware that I can retrieve this large object by using the following method: $.getJSON('https://www.saferproducts.gov/RestWebServices ...

Unable to access the length property of an undefined variable in a Node.js environment

const cities = require('./cities'); const { places, descriptor } = require('./seedHelpers'); const Campground = require('../models/campground'); const { length } = require('./cities'); mongoose.connect('mongodb ...

How can I automatically scroll to an anchor element once CSS animation has finished

I am currently working on a CSS animation that looks like this: @-webkit-keyframes flip { 0% {opacity:1;} 100% {opacity: 0;} //This could be 90% //And here could be frame for 100% which would scroll it down. } #headercover { -webkit-animation-name ...

Screen the information passing through the Nivo Bar Chart

With react-table, I have successfully implemented data filtering but I am looking to enhance the dynamism of the filter. The current challenge lies in filtering the data displayed on a graph to make it more meaningful. I want to group products from the sam ...

Switching camera view on mouse click with three.js

I am new to three.js and apologize if my question is a bit complex. I have set up my scene in three.js but now I want the camera's position to smoothly transition from point A to point B (which I will specify in my code). I plan on using Tween.js to ...

Creating a combination of associative keys and numbers within an array using JavaScript

To summarize, my question starts below: I have simply read a JSON file with the following contents: [{"FirstCategory":"Bath","SecondCategory":"Bath Accessories","ThirdCategory":""}, {"FirstCategory":"Bath","SecondCategory":"Faucets","ThirdCategory":""}, ...

What is the best method for testing an AJAX application that fetches data from a live website?

I'm currently developing an AJAX application that retrieves data from a live website. Unfortunately, I am unable to replicate the entire application on my local environment at this time. In order to test whether the JavaScript code is functioning corr ...