Skip to main content
edited tags
Link
Lodder
  • 26.9k
  • 3
  • 48
  • 94
Source Link
Allam
  • 349
  • 1
  • 4
  • 10

Javascript Menu conflicts

I'm converting a static website to a Joomla 3.3 template. which has 1 level dropdown box javascript menu this is the function included in my "index.html"

        $(function () {
            /**
            * for each menu element, on mouseenter,
            * we enlarge the image, and show both sdt_active span and
            * sdt_wrap span. If the element has a sub menu (sdt_box),
            * then we slide it - if the element is the last one in the menu
            * we slide it to the left, otherwise to the right
            */
            $('#sdt_menu > li').bind('mouseenter', function () {
                var $elem = $(this);
                $elem.find('img')
                     .stop(true)
                     .animate({
                         'width': '170px',
                         'height': '170px',
                         'left': '0px'
                     }, 400, 'easeOutBack')
                     .andSelf()
                     .find('.sdt_wrap')
                     .stop(true)
                     .animate({ 'top': '140px' }, 500, 'easeOutBack')
                     .andSelf()
                     .find('.sdt_active')
                     .stop(true)
                     .animate({ 'height': '170px' }, 300, function () {
                         var $sub_menu = $elem.find('.sdt_box');
                         if ($sub_menu.length) {
                             var left = '170px';
                             if ($elem.parent().children().length == $elem.index() + 1)
                                 left = '-170px';
                             $sub_menu.show().animate({ 'left': left }, 200);
                         }
                     });
            }).bind('mouseleave', function () {
                var $elem = $(this);
                var $sub_menu = $elem.find('.sdt_box');
                if ($sub_menu.length)
                    $sub_menu.hide().css('left', '0px');

                $elem.find('.sdt_active')
                     .stop(true)
                     .animate({ 'height': '0px' }, 300)
                     .andSelf().find('img')
                     .stop(true)
                     .animate({
                         'width': '0px',
                         'height': '0px',
                         'left': '85px'
                     }, 400)
                     .andSelf()
                     .find('.sdt_wrap')
                     .stop(true)
                     .animate({ 'top': '15px' }, 500);
            });
        });

and it uses easing.js as well as i was included in the head.

since Joomla's index is in PHP so I've included easing.js as following:

$doc->addScript('/templates/' . $this->template . '/js/easing.js', 'text/javascript');

and I've copied and pasted the function to main.js and loaded it to my index.php, but it didn't work.

so i put the script inside the index.php - it didn't work as well...

I dunno how to make it work. (I've created the menu as a custom-html module)

so what should I do ?