jQuery" $( ... ).l'effet n'est pas une fonction"
j'ai déjà cherché dans le forum mais je ne trouve aucun moyen de résoudre le problème que j'ai avec la fonction "effect" dans jQuery.
- je obtenir exactement l'erreur TypeError: $(...).effect is not a function
dans le code :
$('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);
j'ai inclus à la fois jQuery et jQuery UI comme ceci <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>
Mais en vain, avez-vous une idée? Je vous remercie
4 réponses
vous devez mettre votre script personnalisé après vos déclarations jQuery et jQuery UI, et l'envelopper dans un document ready()
fonction:
<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>
Je ne sais pas si le problème a été résolu mais j'ai trouvé un moyen de répliquer la fonction shake avec la fonction d'animation et cela fonctionne comme un charme:
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);
}
Cette solution appartient à thisSite, tous les crédits. J'espère que ce sera utile à quelqu'un dans le futur, dans l'affirmative, veuillez le marquer comme solution, salutations.
Essayez d'utiliser
$(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);
}
pour moi, il s'est avéré que mon projet utilisait une version" Custom download " de Jquery-UI qui avait été définie pour exclure le effects
plugin. Remplacer ma version de jQuery UI par une version complète a corrigé mon problème.