我一直在使用FlexMenu,这是一个反应灵敏的幕外菜单系统,已有几个月没有问题。然而,就在最近,当你加载桌面系统而不是桌面导航时,Firefox开始默认加载移动画布菜单。如果您调整FF窗口的大小,无论是更小还是更大,它都会恢复正确的桌面导航。但是,当您单击到另一个页面时,会再次出现相同的问题,而FF会加载移动导航。此问题在Chrome或Internet Explorer中发生不。
Flexmenu需要jquery和bootstrap。默认情况下,我将.js文件中的断点设置为737.我已经尝试使断点越来越小,一直降到100,以防FF读取的大小比桌面上的小。但是,断点设置似乎在FF错误地加载移动导航而不是桌面时没有区别。
我昨天在codecanyon的脚本页面的评论部分发布了这个问题,发现该项目(flexmenu)今天已从网站上删除,事先没有回复该问题。
以下是jquery.flexmenu.js文件的内容:
(function() {
(function(e, t) {
"use strict";
return e.fn.flexMenu = function(n) {
return this.each(function() {
var r, i, s, o, u, a, f, l, c, h, p, d, v;
d = e.extend({
breakpoint: 737,
/*responsivePattern: "toggle",*/
responsivePattern: "off-canvas",
animationSpeed: 250
}, n);
u = e(this);
o = u.find("li");
f = e(t);
v = void 0;
r = e("body");
u.addClass("flexmenu");
i = e(".fm-button, .fm-button-bars");
l = function() {
var t;
u.find("li").each(function() {
var t;
t = e(this);
if (t.has("ul").length) return t.addClass("with-ul").find("ul").hide()
});
t = u.find(".with-ul");
t.append('<span class="navicon"></span>');
if (d.responsivePattern === "toggle") return u.addClass("fm-toggle");
if (d.responsivePattern === "off-canvas") {
u.addClass("fm-offcanvas");
return r.wrapInner('<div class="fm-inner" />').wrapInner('<div class="fm-outer" />')
}
};
l();
a = e(".flexmenu .navicon");
s = e(".fm-inner");
c = !1;
i.on("click", function() {
u = e(".flexmenu.fm-sm");
if (u.hasClass("fm-toggle")) return u.slideToggle(d.animationSpeed);
if (u.hasClass("fm-offcanvas")) {
if (c) {
s.animate({
left: 0
}, {
duration: d.animationSpeed
});
u.animate({
left: "-850%"
}, {
duration: d.animationSpeed
});
return c = !1
}
s.animate({
left: "82%"
}, {
duration: d.animationSpeed
});
u.animate({
left: 0
}, {
duration: d.animationSpeed
});
return c = !0
}
});
h = function() {
u.find("li ul").slideUp(200);
if (d.responsivePattern === "off-canvas" && e(".flexmenu.fm-sm").length) return function() {
u = e(".flexmenu.fm-sm");
s.animate({
left: 0
}, {
duration: d.animationSpeed
});
u.animate({
left: "-82%"
}, {
duration: d.animationSpeed
});
return c = !1
}()
};
p = function() {
var t;
t = f.width();
if (t <= d.breakpoint) {
if (e(".fm-lg").length) {
h();
u.hasClass("fm-toggle") && u.hide()
}
u.removeClass("fm-lg").addClass("fm-sm");
i.show();
o.off("mouseenter mouseleave");
a.off("click");
return a.on("click", function(t) {
var n, r;
t.stopPropagation();
r = e(this);
n = r.parent(".with-ul").children("ul");
return n.stop(!0, !0).slideToggle({
duration: d.animationSpeed
})
})
}
h();
u.removeClass("fm-sm").addClass("fm-lg");
i.hide();
u.hasClass("fm-toggle") && u.slideDown();
o.off("mouseenter mouseleave");
a.off("click");
return o.on("mouseenter", function() {
return e(this).children("ul").stop(!0, !0).slideDown(d.animationSpeed)
}).on("mouseleave", function() {
return e(this).children("ul").stop(!0, !0).slideUp(d.animationSpeed)
})
};
p();
return f.resize(function() {
clearTimeout(v);
return v = setTimeout(p, 200)
})
})
}
})(jQuery, window)
}).call(this);