Hallo zusammen,
bis zur 4.4-Version lief folgendes Menü auf meiner Seite. Nach dem Update auf 4.9 klappt es nun nicht mehr zu.
Meine js-Kenntnisse tendieren gegen Null, das Template kommt nicht von mir.
Im Layout steht dies im "Eigenen Javascript-Code":
PHP-Code:
<script src="files/theme_files/responsive_navigation/jquery.responsinav.min.js"></script>
<script>
$(function(){
$(window).responsinav({ breakpoint: 1140 });
});
</script>
Die JS steht in den Theme-Dateien und geht so:
PHP-Code:
(function($) {
$(document).ready(function() {
$.fn.responsinav = function(o) {
var o = jQuery.extend({
breakpoint: 480
}, o);
rn_mode = undefined;
sub_nav_bind = false;
$(window).bind('load resize', function() {
if ($(window).width() <= o.breakpoint) {
if (rn_mode === 0 || rn_mode === undefined) {
nav.reset();
nav.mobile();
}
} else {
if (rn_mode === 1 || rn_mode === undefined) {
nav.reset();
nav.full();
}
}
});
nav = {
reset: function() {
$('.mainmenu>ul li').unbind('mouseenter mouseleave click');
$('.mainmenu .sub_nav').unbind('click').remove();
},
full: function() {
rn_mode = 0;
$('.mainmenu>ul').show();
$('.mainmenu ul ul').hide();
$(".mainmenu>ul li").hover(function() {
var timeout = $(this).data("timeout");
if (timeout) clearTimeout(timeout);
$(this).children("ul").slideDown(300);
}, function() {
$(this).data("timeout", setTimeout($.proxy(function() {
$(this).find("ul").slideUp(300);
}, this), 300));
});
},
mobile: function() {
rn_mode = 1;
$('.mainmenu>ul').hide();
if ($('.mainmenu>a.mobile_handle').length === 0) {
$('<a class="mobile_handle"><i class="icon-reorder"></i></a>').insertBefore('.mainmenu ul.level_1');
}
$('.mainmenu>a.mobile_handle').unbind('click');
$('.mainmenu>a.mobile_handle').click(function() {
$('.mainmenu>ul').slideToggle(300);
});
if ($('.sub_nav').length === 0) {
$('.mainmenu ul li').each(function() {
if ($(this).children('ul').length > 0) {
$('<a class="sub_nav"><i class="icon-angle-down"></i></a>').appendTo(this);
}
});
}
if (sub_nav_bind === false) {
$('.mainmenu>ul').delegate('.sub_nav', 'click', function() {
$(this).siblings('ul').slideToggle(300);
if ($(this).children('i').hasClass('icon-angle-down')) {
$(this).children('i').attr('class', 'icon-angle-up');
} else {
$(this).children('i').attr('class', 'icon-angle-down');
}
});
sub_nav_bind = true;
}
}
};
};
});
})(jQuery);
Im Layout sind aktiviert: js_slider und js_autofocus, j_accordion, moo_mediabox, letztere per CDN und lokalem Fallback.
Kann mir jemand weiterhelfen?
Marion
P. S. (jQuery); am Ende hatte ich sogar im eigenen Code einmal ergänzt, nachdem ich hier Spookies Tips mit dem Wrappen gelesen hatte, aber das hat nichts geändert.
Lesezeichen