JQuery "$ (...). effect не является функцией"
Я уже просматривал форум, но не могу найти какой-либо способ исправить проблему, связанную с функцией "эффект" в jQuery.
Я получаю точно код ошибки TypeError: $(...).effect is not a function
в коде:
$('div.step').removeClass('active');
$("div.step").effect('slide', {direction: 'right', mode: 'hide'}, 500);
$('#step' + step + '').addClass('active');
$('#step' + step + '').effect('slide', {direction: 'right', mode: 'show'}, 500);
Я включил как jQuery, так и jQuery UI, как это в <head></head>
:
<script src="http://code.jquery.com/jquery-1.10.2.js"></script>
<script src="http://code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
Но тщетно, есть ли у вас какие-либо идеи? Спасибо вам
Ответы
Ответ 1
Вам нужно разместить свой пользовательский script после объявлений jQuery и jQuery UI и перенести его в документ ready()
:
<body>
...
<script src="http://code.jquery.com/jquery-1.10.2.js"></script>
<script src="http://code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
<script type="text/javascript">
$(document).ready(function() {
...
});
</script>
</body>
Ответ 2
Я не знаю, была ли проблема решена, но я нашел способ реплицировать функцию дрожания с помощью функции анимации, и она работает как прелесть:
function shake() {
var div = document.getElementById('yourElementID');
var interval = 100;
var distance = 10;
var times = 4;
$(div).css('position', 'relative');
for (var iter = 0; iter < (times + 1) ; iter++) {
$(div).animate({
left: ((iter % 2 == 0 ? distance : distance * -1))
}, interval);
}
$(div).animate({ left: 0 }, interval);
}
Ответ 3
Попробуйте использовать
$(document).ready(function () {
$('div.step').removeClass('active');
$("div.step").effect('slide', {direction: 'right', mode: 'hide'}, 500);
$('#step' + step + '').addClass('active');
$('#step' + step + '').effect('slide', {direction: 'right', mode: 'show'}, 500);
}
Ответ 4
Для меня оказалось, что в моем проекте использовалась версия пользовательской загрузки JQuery-UI, которая была настроена на исключение плагина effects
. Замена моей версии JQuery UI с полной версией исправила мою проблему.
Ответ 5
Добавьте jQueryUI, а не просто jQuery. jQuery не содержит функцию effect()
: https://code.jquery.com/ui