Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

jQuery "$(...).effect is not a function"

I searched through the forum already but I can't find any way to fix the problem I have with the "effect" function in jQuery.

I get exactly the error TypeError: $(...).effect is not a function in the 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);

I included both jQuery and jQuery UI like this in <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>

But in vain, do you have any idea? Thank you

like image 752
mentinet Avatar asked Feb 24 '14 14:02

mentinet


2 Answers

You need to put your custom script after your jQuery and jQuery UI declarations, and wrap it within a document ready() function:

<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>
like image 153
James Donnelly Avatar answered Oct 13 '22 16:10

James Donnelly


I do not know if the problem was solved but I found a way to replicate the shake function with the animation function and it works like a charm:

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);
    }

This solution belongs to thisSite, all credits to them. I hope this will be useful to someone in the future, if so please mark it as solution, greetings.

like image 22
JCO9 Avatar answered Oct 13 '22 15:10

JCO9