Javascript 在jquery中定义和使用全局变量并组合函数
我有jquery代码,下面是我用来控制响应式网站导航方面的代码。我的问题是:Javascript 在jquery中定义和使用全局变量并组合函数,javascript,jquery,html,css,responsive-design,Javascript,Jquery,Html,Css,Responsive Design,我有jquery代码,下面是我用来控制响应式网站导航方面的代码。我的问题是: 有没有办法将var myWidth声明为全局的,这样我就不必在代码中重复它了 或者,是否有一种方法可以将两个$(window).resize函数合并为一个,以减少代码的冗余?我尝试了这个,代码不再工作了 这个脚本在IE8中不起作用(但在IE9和IE10中起作用),原因是什么 我通过研究各种jquery问题/答案和教程将这些代码拼凑在一起,因为不幸的是,我没有JS或jquery的实用知识。代码在我测试的所有设备/浏览
- 有没有办法将var myWidth声明为全局的,这样我就不必在代码中重复它了
- 或者,是否有一种方法可以将两个$(window).resize函数合并为一个,以减少代码的冗余?我尝试了这个,代码不再工作了
- 这个脚本在IE8中不起作用(但在IE9和IE10中起作用),原因是什么
$( 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');
});
});
$(文档).ready(函数(){
$('menuHeader')。在('click',函数(e)上{
e、 预防默认值();
$(“mainNav ul”)。滑动切换(350);
$(this).find('span').toggleClass('icon-arrow-down2 icon-arrow-up2');
$('#menuHeader')。toggleClass('touchHover');
});
$(窗口).width(函数(){
如果($(窗口).width()<650)
$('mainNav ul').hide();
});
$(窗口)。调整大小(函数(){
var myWidth=Math.max($(window.width(),window.innerWidth);
如果(myWidth>650)
$('mainNav ul').show();
其他的
$('mainNav ul').hide();
});
$(窗口)。调整大小(函数(){
var myWidth=Math.max($(window.width(),window.innerWidth);
如果(myWidth>650)
$('menuHeader').removeClass('touchHover');
$('#menuHeader').find('span').addClass('icon-arrow-down2');
$(“#menuHeader”).find('span').removeClass('icon-arrow-up2');
});
});
窗口
已经是全局的,因此无需创建全局varmyWidth
。我可以问一下,为什么不能简单地将逻辑放入一个$(窗口)。调整大小而不是两个?当我尝试将两个函数合并到一个$(窗口)。调整大小时,我的代码不起作用。这就是我寻求帮助的原因——如果有一种方法可以将这两者结合起来,我很想知道怎么做!请编辑您的问题,并说明合并两个调整大小功能不起作用。一旦你这样做了,我会投票重新打开你的问题。我编辑了这些信息。