Javascript JQuery子菜单混乱(Weebly)

Javascript JQuery子菜单混乱(Weebly),javascript,jquery,html,slide,submenu,Javascript,Jquery,Html,Slide,Submenu,我正在设计一个网站的CMS的Weebly。不幸的是,Weebly不支持多语言网站,所以我不得不使用JQuery。我在找到一个脚本,并将其添加到我的网站。当您在英语网站上时,脚本将隐藏德语菜单;当您在德语网站上时,脚本将隐藏英语菜单。除了德国网站上的子菜单外,一切正常。不知怎的,脚本改变了子菜单的位置,也改变了幻灯片从左到右、从上到下的方向 演示:如您所见,子菜单有一些奇怪的行为 如果你点击国旗,你会看到在英语网站上一切都很好 我能做什么 添加为languages-1.0.js-file的代码:

我正在设计一个网站的CMS的Weebly。不幸的是,Weebly不支持多语言网站,所以我不得不使用JQuery。我在找到一个脚本,并将其添加到我的网站。当您在英语网站上时,脚本将隐藏德语菜单;当您在德语网站上时,脚本将隐藏英语菜单。除了德国网站上的子菜单外,一切正常。不知怎的,脚本改变了子菜单的位置,也改变了幻灯片从左到右、从上到下的方向

演示:如您所见,子菜单有一些奇怪的行为

如果你点击国旗,你会看到在英语网站上一切都很好

我能做什么

添加为languages-1.0.js-file的代码:

function hideMenus() {
lang = language.toLowerCase();
console.log('LANG: ' + lang);

currentLang = null;
menus = jQuery(menuSelector + ' ul li').each(function(){
    menu = jQuery(this);
    a = menu.children('a');
    span = a.children('span');
    if (span.length == 0) text = a.html();
    else text = span.html();
    text = text.toLowerCase();

    if (langs[text] != null) {
        currentLang = langs[text].toLowerCase();
        if (currentLang == lang) { 
            //if this is the first page of this language, we set the logo to go to this page url
            jQuery('.wsite-logo a').attr('href', a.attr('href'));
        }
    }
    show = (currentLang == lang);
    if (show) menu.show(); else menu.hide();
  console.log('MENU:' + text + ' - current lang: ' + currentLang + ' - in langs '+ langs[text] + ' - '+ (show ? 'SHOW' : 'HIDE'));
});
}
网站标题(SEO)中添加的代码:

<script src="/files/theme/jquery-1.10.2.min.js"></script>
<script src="/files/theme/languages-1.0.js"></script>
<script>
langs = {          //everything in langs must be in lowercase
    'home': 'en',
    'startseite': 'de'
};
menuSelector = '#avmenu'; 
$(document).ready(function(){hideMenus()});
</script>

langs={//langs中的所有内容都必须是小写的
‘家’:‘恩’,
“StartSite”:“de”
};
菜单选择器='#avmenu';
$(document).ready(function(){hideMenus()});
德语页面上添加的代码:

<script> language = 'de'; </script>
language='de';
英文页面上添加的代码:

<script> language = 'en'; </script>
language='en';

就这样。提前谢谢

仅供参考,您加载了两次jQuery。您是对的,谢谢!刚刚删除了它,但问题仍然存在。我猜是因为语言脚本对菜单的更改太多,导致原始绑定中断。您可能需要安排一些事情,以便语言脚本在菜单init script.Maybe之前运行。但是由于脚本位于网站的标题中,因此应该在菜单之前加载脚本。英语菜单也很好用。这只是第二个菜单(德语菜单)工作不正常。似乎英语菜单是默认菜单,因此问题不会发生。因为嵌入了menu init脚本,所以它首先运行。尝试将语言脚本嵌入到它之后的页面中。