простой предварительный загрузчик HTML/CSS/jQuery не работает на iphone chrome

возникла проблема с моим (я думал) простым предварительным загрузчиком. Кажется, работает везде, где я проверял, кроме iPhone5 Chrome. preloader появляется, но никогда не исчезает... Спасибо за помощь

HTML:

<div id="preloader">
    <div class="item item-1"></div>
    <div class="item item-2"></div>
    <div class="item item-3"></div>
    <div class="item item-4"></div>
</div>

CSS

#preloader {
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  margin: auto;
  z-index: 999;
  background: red;
  border: solid 3000px white;
}

.item {
  width: 30px;
  height: 30px;
  position: absolute;
  border-radius: 2px;
}

(плюс некоторые ключевые кадры, не включенные сюда)

сценарий:

$(window).on('load', function() {
  $('#preloader').delay(250).fadeOut();
})

Codepen: https://codepen.io/anon/pen/MBJGMM


person bezucg    schedule 21.07.2018    source источник


Ответы (1)


Может вот так:

window.onload=function(){
   setTimeout(function(){
      $('#preloader').fadeOut('slow');
   }, 250);
};
#preloader {
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  margin: auto;
  z-index: 999;
  background: red;
  border: solid 3000px white;
}

.item {
  width: 30px;
  height: 30px;
  position: absolute;
  border-radius: 2px;
}

.item-1 {
  background-color: #46D1E1;
  top: 0;
  left: 0;
  z-index: 1;
  -webkit-animation: item-1_move 1.2s cubic-bezier(.6,.01,.4,1) infinite;
          animation: item-1_move 1.2s cubic-bezier(.6,.01,.4,1) infinite;
}

.item-2 {
  background-color: #FC487F;
  top: 0;
  right: 0;
  -webkit-animation: item-2_move 1.2s cubic-bezier(.6,.01,.4,1) infinite;
          animation: item-2_move 1.2s cubic-bezier(.6,.01,.4,1) infinite;
}

.item-3 {
  background-color: #885DF1;
  bottom: 0;
  right: 0;
  z-index: 1;
  -webkit-animation: item-3_move 1.2s cubic-bezier(.6,.01,.4,1) infinite;
          animation: item-3_move 1.2s cubic-bezier(.6,.01,.4,1) infinite;
}

.item-4 {
  background-color: #FDC521;
  bottom: 0;
  left: 0;
  -webkit-animation: item-4_move 1.2s cubic-bezier(.6,.01,.4,1) infinite;
          animation: item-4_move 1.2s cubic-bezier(.6,.01,.4,1) infinite;
}

@-webkit-keyframes item-1_move {
  0%, 100% {-webkit-transform: translate(0, 0);transform: translate(0, 0)}
  25% {-webkit-transform: translate(0, 10px);transform: translate(0, 10px)}
  50% {-webkit-transform: translate(10px, 10px);transform: translate(10px, 10px)}
  75% {-webkit-transform: translate(10px, 0);transform: translate(10px, 0)}
}

@keyframes item-1_move {
  0%, 100% {-webkit-transform: translate(0, 0);transform: translate(0, 0)}
  25% {-webkit-transform: translate(0, 10px);transform: translate(0, 10px)}
  50% {-webkit-transform: translate(10px, 10px);transform: translate(10px, 10px)}
  75% {-webkit-transform: translate(10px, 0);transform: translate(10px, 0)}
}

@-webkit-keyframes item-2_move {
  0%, 100% {-webkit-transform: translate(0, 0);transform: translate(0, 0)}
  25% {-webkit-transform: translate(-10px, 0);transform: translate(-10px, 0)}
  50% {-webkit-transform: translate(-10px, 10px);transform: translate(-10px, 10px)}
  75% {-webkit-transform: translate(0, 10px);transform: translate(0, 10px)}
}

@keyframes item-2_move {
  0%, 100% {-webkit-transform: translate(0, 0);transform: translate(0, 0)}
  25% {-webkit-transform: translate(-10px, 0);transform: translate(-10px, 0)}
  50% {-webkit-transform: translate(-10px, 10px);transform: translate(-10px, 10px)}
  75% {-webkit-transform: translate(0, 10px);transform: translate(0, 10px)}
}

@-webkit-keyframes item-3_move {
  0%, 100% {-webkit-transform: translate(0, 0);transform: translate(0, 0)}
  25% {-webkit-transform: translate(0, -10px);transform: translate(0, -10px)}
  50% {-webkit-transform: translate(-10px, -10px);transform: translate(-10px, -10px)}
  75% {-webkit-transform: translate(-10px, 0);transform: translate(-100px, 0)}
}

@keyframes item-3_move {
  0%, 100% {-webkit-transform: translate(0, 0);transform: translate(0, 0)}
  25% {-webkit-transform: translate(0, -10px);transform: translate(0, -10px)}
  50% {-webkit-transform: translate(-10px, -10px);transform: translate(-10px, -10px)}
  75% {-webkit-transform: translate(-10px, 0);transform: translate(-10px, 0)}
}

@-webkit-keyframes item-4_move {
  0%, 100% {-webkit-transform: translate(0, 0);transform: translate(0, 0)}
  25% {-webkit-transform: translate(10px, 0);transform: translate(10px, 0)}
  50% {-webkit-transform: translate(10px, -10px);transform: translate(10px, -10px)}
  75% {-webkit-transform: translate(0, -10px);transform: translate(0, -10px)}
}

@keyframes item-4_move {
  0%, 100% {-webkit-transform: translate(0, 0);transform: translate(0, 0)}
  25% {-webkit-transform: translate(10px, 0);transform: translate(10px, 0)}
  50% {-webkit-transform: translate(10px, -10px);transform: translate(10px, -10px)}
  75% {-webkit-transform: translate(0, -10px);transform: translate(0, -10px)}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<div id="preloader">
    <div class="item item-1"></div>
    <div class="item item-2"></div>
    <div class="item item-3"></div>
    <div class="item item-4"></div>
</div>

person mscdeveloper    schedule 21.07.2018