0

我已经通过大多数在线解决冲突的代码 [jquery.noConflict()] 等。并尝试使用 joomla 插件:jquery 易于尝试并解决它。这些都不适合我。这是问题所在:

joomla网站的顶部菜单使用jquery来显示内容,而侧边栏只是joomla对菜单元素的定位。

使用 jquery.noConflict(): 顶部菜单可以工作。侧边栏菜单将不可点击。[只有右键单击并在新选项卡中打开才会显示内容]

如果我将 jQuery 代码一起删除: 顶部菜单当然会失效。然后侧边栏菜单将是可点击的。

因此,只有顶部菜单或侧边栏才能使用。有什么建议吗?

我的 jQuery 代码如下,以防我做错了什么。>< - 目前使用 jquery easy 插件来:

<script type="text/javascript">
    //<![CDATA[ 
    jQuery(window).load(function(){
        jQuery('#link1').click(function(e){    
            jQuery('#exposeMask, #csmf1').fadeIn('slow');
        });
        jQuery('#link2').click(function(e){    
            jQuery('#exposeMask, #csmf2').fadeIn('slow');
        });
        jQuery('#link3').click(function(e){    
            jQuery('#exposeMask, #csmf3').fadeIn('slow');
        });
        jQuery('#link4').click(function(e){    
            jQuery('#exposeMask, #csmf4').fadeIn('slow');
        });

        jQuery('#closebtn1').click(function(e){    
            jQuery('#exposeMask, #csmf1').fadeOut('slow');
        });
        jQuery('#closebtn2').click(function(e){    
            jQuery('#exposeMask, #csmf2').fadeOut('slow');
        });
        jQuery('#closebtn3').click(function(e){    
            jQuery('#exposeMask, #csmf3').fadeOut('slow');
        });
        jQuery('#closebtn4').click(function(e){    
            jQuery('#exposeMask, #csmf4').fadeOut('slow');
        });
        checkTab(); 
    });//]]> 
        function switchContent(obj) { 
            obj = (!obj) ? 'tab1' : obj; 

            var contentDivs = document.getElementsByTagName('div'); 
            for (i=0; i<contentDivs.length; i++) { 
                if (contentDivs[i].id && contentDivs[i].id.indexOf('tab') !== -1) { 
                    contentDivs[i].className = 'hide';          
                } 
            } 
            document.getElementById(obj).className = ''; 
            jQuery(".current").removeClass("active");
            jQuery(".current").removeClass("current");
        } 
        function checkTab() { 
            jQuery('a').each(function() { 
                jQuery(this).click(function() { 
                    tab = jQuery(this).attr('href').split('#'); 
                    switchContent(tab[1]); 
                    jQuery(this).parent('li').addClass('active');
                    jQuery(this).parent('li').addClass('current');
                    return false;
                }); 
            }); 
        } 
</script>   

提前致谢!

4

1 回答 1

1

检查checkTab()功能。它适用于每个链接,并且可能会干扰侧边栏中的其他链接。也许使此功能不那么通用,因此它仅适用于顶部菜单中的链接。

于 2013-05-28T14:06:41.557 回答