2014-11-05 115 views
1

请帮忙谁能。该网站适用于typo3。由范·Hylckama Vlieg简单的jQuery菜单,它能够正常工作:对于菜单我使用脚本jquery菜单脚本冲突

jQuery.fn.initMenu = function() { 
    return this.each(function(){ 
     var theMenu = $(this).get(0); 
     $('.acitem', this).hide(); 
     $('li.expand > .acitem', this).show(); 
     $('li.expand > .acitem', this).prev().addClass('active'); 
     $('li a', this).click(
      function(e) { 
       e.stopImmediatePropagation(); 
       var theElement = $(this).next(); 
       var parent = this.parentNode.parentNode; 
       if($(parent).hasClass('noaccordion')) { 
        if(theElement[0] === undefined) { 
         window.location.href = this.href; 
        } 
        $(theElement).slideToggle('normal', function() { 
         if ($(this).is(':visible')) { 
          $(this).prev().addClass('active'); 
         } 
         else { 
          $(this).prev().removeClass('active'); 
         }  
        }); 
        return false; 
       } 
       else { 
        if(theElement.hasClass('acitem') && theElement.is(':visible')) { 
         if($(parent).hasClass('collapsible')) { 
          $('.acitem:visible', parent).first().slideUp('normal', 
          function() { 
           $(this).prev().removeClass('active'); 
          } 
         ); 
         return false; 
        } 
        return false; 
       } 
       if(theElement.hasClass('acitem') && !theElement.is(':visible')) {   
        $('.acitem:visible', parent).first().slideUp('normal', function() { 
         $(this).prev().removeClass('active'); 
        }); 
        theElement.slideDown('normal', function() { 
         $(this).prev().addClass('active'); 
        }); 
        return false; 
       } 
      } 
     } 
    ); 
}); 
}; 

$(document).ready(function() {$('.menu').initMenu();}); 

但是,当我连接插件jQuery的颜色框的图像,可能的脚本开始抨击和菜单停止工作,所有子菜单已扩展,我无法将其折叠。

也许谁会提示解决冲突,在哪里寻找原因?谢谢/

+0

引用jquery.noConflict() – SarathSprakash 2014-11-05 14:25:07

回答

1

问题很可能是,您的TYPO安装在一个页面中加载jQuery库的2个实例。在这种情况下,noConflict不会帮助你,因为这是为了解决jQuery和其他使用$命名空间的JavaScript库(如Prototype)之间的冲突。

当你加载jQuery两次时发生了什么,后者是否覆盖了第一个库,它的所有插件都已加载到该点。对于Javascript库或冲突,TYPO3s没有管理。如果两个扩展都支持t3jquery,这是一个扩展,它试图完成TYPO缺乏的地方,你可能很幸运。

如果他们不这样做就意味着你对你自己非常想弄清楚:

1)扩展在加载jQuery的

2)什么奥德

和3 )设置所有其他扩展不加载jQuery,从而覆盖已经加载的jQuery实例。

+0

问题的确在于一次加载两个库。我设置了所有扩展,不加载jQuery并将其仅包含在模板中一次。它帮助!谢谢 – user3111774 2014-11-10 07:49:41