Search code examples
jqueryzurb-reveal

Possible conflicting jquery libraries


I'm using the 'reveal modal' which is working fine with the jquery-1.4.4. library however since adding the library the 'pop-up' menu for the mobile version of the site has stopped working. I removed the jquery-1.4.4. library and the 'pop-up'menu started working again but the modal stopped so I assume there is something conflicting with that library.

I have tried a piece of script that allows multiple jquery libraries without conflict but it didn't seem to work so I'm thinking the easiest way is to maybe re-wrtie the code for the 'pop-up- menu in a way that doesnt conflict but i'm not sure how.

The code I'm using for the pop-up' menu is as follows. (the menu only shows up on mobile size so you may have to decrease the width of your browser)

$(function() {
        var pull        = $('.pull');
            menu        = $('.navigation ul');
            menuHeight  = menu.height();

        $(pull).on('click', function(e) {
            e.preventDefault();
            menu.slideToggle();
        });


        $(window).resize(function(){
            var w = $(window).width();
            if(w > 320 && menu.is(':hidden')) {
                menu.removeAttr('style');
            }
        });
    });

The reveal modal is attached to the question mark button on the index page and the url is mike-griffin.com/index.html (the question mark button is on the desktop size site so browser width will need to be above 481px.


Solution

  • Using the following should solve your issue:

        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
        <script>
            //code that uses 1.10.2 should be enclosed as follows right after loading 1.10.2
            jQuery(function( $ ) {
                //1.10.2 code goes here
            });
        </script>
        <script src="js/jquery-1.4.4.min.js"></script>
        <script>
            //code that uses 1.4.4 should be enclosed as follows
            jQuery(function( $ ) {
                //1.4.4 code goes here
            });
        </script>