Анимация JQuery работает на рабочем столе, но не работает и работает медленно в сафари на мобильных устройствах. - PullRequest
0 голосов
/ 07 мая 2019

Я закодировал анимацию, когда она видна, но на мобильных устройствах Safari и Chrome коды делают браузер очень медленным и работают немного позже, не вовремя, как я могу это исправить?

Я использую jQuery и минимальные файлы начальной загрузки из CDN

Я пытался установить мобильную версию jQuery, но она все та же они хорошо работают в настольном браузере

;
(function($, win) {
  $.fn.inViewport = function(cb) {
    return this.each(function(i, el) {
      function visPx() {
        var H = $(this).height(),
          r = el.getBoundingClientRect(),
          t = r.top,
          b = r.bottom;
        return cb.call(el, Math.max(0, t > 0 ? H - t : (b < H ? b : H)));
      }
      visPx();
      $(win).on("resize scroll", visPx);
    });
  };
}(jQuery, window));



$(".box").inViewport(function(px) {
  if (px) $(this).addClass("triggeredCSS3");
});
.box {
  width: 300px;
  height: 300px;
  margin: 500px 50px;
  background: red;
  transition: 1.5s;
}

.rotate.triggeredCSS3 {
  transform: rotate(360deg);
}

.scale.triggeredCSS3 {
  transform: scale(1.6);
}

.translate.triggeredCSS3 {
  transform: translate3d(400px, 0, 0);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="box rotate"></div>
<div class="box scale"></div>
<div class="box translate"></div>

Я хочу знать, если это не проблема с кодом, какие из них я должен изменить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...