Schauen wir mal in den Header -> da wird jQuery geladen. (Man braucht Web Developer Toolbar und "Erzeugten Quelltext anzeigen", um das zu sehen.) Hier mal der vollständige Header:
Code: Alles auswählen
<head>
<title>BlackCat CMS1 - foga</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>BlackCat CMS1</title>
<meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" type="text/css" href="http://ihb-leipzig.de/bc11/templates/darkspace/css/fitgrid.css" media="all">
<link rel="stylesheet" type="text/css" href="http://ihb-leipzig.de/bc11/templates/darkspace/css/sm-core-css.css" media="all">
<link rel="stylesheet" type="text/css" href="http://ihb-leipzig.de/bc11/templates/darkspace/css/sm-clean.css" media="all">
<link rel="stylesheet" type="text/css" href="http://ihb-leipzig.de/bc11/modules/lib_jquery/plugins/Slimbox2/jquery-slimbox2.css" media="screen">
<link rel="stylesheet" type="text/css" href="http://ihb-leipzig.de/bc11/modules/lib_jquery/plugins/Slimbox2/slimbox2-rtl.css" media="screen">
<link rel="stylesheet" type="text/css" href="http://ihb-leipzig.de/bc11/modules/lib_jquery/plugins/Slimbox2/slimbox2.css" media="screen">
<link rel="stylesheet" type="text/css" href="http://ihb-leipzig.de/bc11/templates/darkspace/css/template.css" media="screen,projection">
<link rel="stylesheet" type="text/css" href="http://ihb-leipzig.de/bc11/modules/lib_search/templates/default/frontend.css" media="all">
<link rel="stylesheet" type="text/css" href="http://ihb-leipzig.de/bc11/modules/foldergallery/frontend.css" media="all">
<script type="text/javascript">
var WB_URL = '//ihb-leipzig.de/bc11',
LEPTON_URL = '//ihb-leipzig.de/bc11',
CAT_URL = '//ihb-leipzig.de/bc11';
</script> <script type="text/javascript" src="http://ihb-leipzig.de/bc11/templates/darkspace/js/jquery.smartmenus.min.js"></script>
<script type="text/javascript" src="http://ihb-leipzig.de/bc11/modules/lib_jquery/plugins/Slimbox2/jquery-slimbox2-min.js"></script>
<script type="text/javascript" src="http://ihb-leipzig.de/bc11/modules/foldergallery/frontend.js"></script><script src="https://code.jquery.com/jquery-2.1.1.min.js" type="text/javascript"></script>
<script type="text/javascript" src="http://ihb-leipzig.de/bc11/modules/lib_search/templates/default/frontend.js"></script>
<script type="text/javascript">
$(function() {
$('#main-menu').smartmenus({
mainMenuSubOffsetX: -1,
subMenusSubOffsetX: 10,
subMenusSubOffsetY: 0
});
});
</script>
</head>
Allerdings paßt die Reihenfolge nicht; jQuery wird als letztes geladen. Das mag z.B. dann die Slimbox nicht. Das Smartmenü auch nicht. Zudem ist das durchaus ein Brocken, bis der geladen ist, ist der "hartcodierte" JavaScript Code (der mit dem smartmenu) schon ausgeführt.
Fehlerhaft ausgeführt. Und da JavaScript beim ersten Fehler "aufhört", kommt danach auch nix mehr.
Sinnvoll wäre es daher, alles, was auf jQuery basiert, NACH jQuery zu laden. Das war der Teil mit dem defer() in meinem Quote. Man kann dann in der frontend.js der FG warten, bis jQuery geladen ist, dann mit getScript() das darauf basierende Plugin (z.B. Slimbox) laden, und in der function() alles weitere machen.
Was klappte denn da nicht?