Uncaught TypeError с использованием stellar.js с jquery 3.1.1
на одной странице Я включаю только jQuery 3.1.1 и звездная.js для эффектов прокрутки параллакса, но когда я пытаюсь использовать его как $(window).stellar();
Я получаю эту ошибку в консоли:
Uncaught TypeError: f.getClientRects is not a function (jquery-3.1.1.min.js:4)
Я попытался использовать плагин миграции, как предложено во многих ответах, но не решает мою проблему.
фрагмент просто, чтобы показать вам ошибку.
$(function(){
$('.main').stellar();
});
<div class="main">
<div class="slide"></div>
<div class="slide"></div>
<div class="slide"></div>
</div>
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/stellar.js/0.6.2/jquery.stellar.min.js"></script>
3 ответов
Стеллар.JS терпит неудачу из-за этого фрагмента кода:
$(window).load(function() {
var oldLeft = self._getScrollLeft(),
oldTop = self._getScrollTop();
self._setScrollLeft(oldLeft + 1);
self._setScrollTop(oldTop + 1);
self._setScrollLeft(oldLeft);
self._setScrollTop(oldTop);
});
в jquery 3.0 событие load удаляется. Вы можете изменить на on('load', function{});
$(window).on('load', function() {
var oldLeft = self._getScrollLeft(),
oldTop = self._getScrollTop();
self._setScrollLeft(oldLeft + 1);
self._setScrollTop(oldTop + 1);
self._setScrollLeft(oldLeft);
self._setScrollTop(oldTop);
});
вот" рабочая " скрипка:https://jsfiddle.net/y19x160g/1/ и, работая, я просто говорю, что больше не бросает ошибку.
P. S: Я точно не знаю, для чего используется эта библиотека.
в этой скрипке js я просто скопировал не-уменьшенный скрипт из текущего GitHub проект:https://github.com/markdalgleish/stellar.js/blob/master/src/jquery.stellar.js и изменил событие load.
другие ссылки: https://api.jquery.com/load-event/ - см. deprecated
Если вы не хотите менять код в самом плагине, вы также можете просто добавить jQuery migrate в проект, я столкнулся с этой же проблемой со следующей настройкой...
jQuery v3.3.1
Стеллар.с JS версии v0.6.2
добавление jquery-migrate / 3.0.1 в проект исправило проблему.