【发布时间】:2026-01-31 16:55:01
【问题描述】:
我已经通过大多数在线解决冲突的代码 [jquery.noConflict()] 等。并尝试使用 joomla 插件:jquery 易于尝试并解决它。这些都不适合我。问题来了:
joomla 网站的顶部菜单使用 jquery 来显示内容,而侧边栏只是 joomla 对菜单元素的定位。
使用 jquery.noConflict(): 顶部菜单会起作用。侧边栏菜单将不可点击。 [只有右键在新标签页打开才会显示内容]
如果我将 jQuery 代码一起删除: 当然,顶部菜单将无法正常工作。然后侧边栏菜单就可以点击了。
因此,只有顶部菜单或侧边栏才能使用。有什么建议吗?
我的 jQuery 代码如下,以防我做错了什么。 >
<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>
提前致谢!
【问题讨论】:
-
您确定只导入 1 个 jquery 文件吗?
-
您能否检查浏览器中的控制台(大多数浏览器为 F12),看看它是否在那里记录任何 Javascript 错误?
-
@Lodder 是的,只有 1 个 jquery 文件。
-
@Bakual 是的,没有 javascript 错误。即使点击菜单也不会注册点击事件。