使用以下代码,我不希望IE8选择响应式导航。调整窗口大小时,IE8 将删除导航。我的IE8有一个"lt-ie9"类。你能告诉我如何调整代码,所以如果浏览器大小低于 767,它将使用桌面版本。
function resizeNav() {
if (!nav) {
nav = {};
nav.root = jQuery('#navigation');
nav.primary = nav.root.find('.menu');
nav.secondary = jQuery('.secondary-links');
nav.moveable = nav.secondary.children('li');
nav.icon = jQuery('<div id="menu-icon" class="btn">Navigation</div>');
nav.icon.click(function () {
nav.primary.slideToggle('slow');
nav.icon.toggleClass('active');
});
}
// Position everything
if (getWidth() <= 767) {
nav.moveable.appendTo(nav.primary);
nav.root.prepend(nav.icon);
nav.primary.hide();
} else {
nav.moveable.appendTo(nav.secondary);
nav.icon.detach();
nav.primary.show();
}
nav.icon.removeClass('active');
}
假设您的lt-ie9
类添加了html
元素,最简单的方法是检查它以及宽度:
if (!html.lt-ie9 && getWidth() <= 767) {
您还可以将lt-ie9
存储为布尔值以提高效率:
var isLtIe9 = $('html.lt-ie9').length;
然后将上述内容修改为:
if (!isLtIe9 && getWidth() <= 767) {
如果你只想影响IE8,为什么要使用JS?只使用仅 IE8 的 CSS 文件不是更好吗?这将使您的代码保持干净且不受黑客攻击。
<!--[if lte IE 8]>
<link rel="stylesheet" type="text/css" href="ie8-and-down.css" />
<![endif]-->