我有下面的jquery代码,我用它来控制响应式网站上的导航方面。我的问题是:
有没有办法将var myWidth声明为全局,所以我不必在代码中继续重复它?
或者,有没有办法将两个$(window).resize函数合并为一个,以减少代码冗余?我试过这个,代码不再有效。
此脚本在IE8中不起作用(但在IE9和10中有效),可能是什么原因?
我通过研究各种jquery问题/答案和教程拼凑了这些代码,因为我遗憾地没有JS或jquery的工作知识。代码在我测试的所有设备/浏览器中都正常工作。我确实意识到这个代码是多余的,我想请求指导整理一下。
提前致谢!
$( document ).ready(function() {
$('#menuHeader').on('click', function(e){
e.preventDefault();
$("#mainNav ul").slideToggle(350);
$(this).find('span').toggleClass('icon-arrow-down2 icon-arrow-up2');
$('#menuHeader').toggleClass('touchHover');
});
$(window).width(function() {
if ($(window).width() < 650)
$('#mainNav ul').hide();
});
$(window).resize(function() {
var myWidth = Math.max( $(window).width(), window.innerWidth);
if (myWidth > 650)
$('#mainNav ul').show();
else
$('#mainNav ul').hide();
});
$(window).resize(function() {
var myWidth = Math.max( $(window).width(), window.innerWidth);
if(myWidth > 650)
$('#menuHeader').removeClass('touchHover');
$('#menuHeader').find('span').addClass('icon-arrow-down2');
$('#menuHeader').find('span').removeClass('icon-arrow-up2');
});
});