我们要说我必须找出窗口宽度,代码将是:
$(window).width();
如果我希望它成为一个全局变量,我只需要声明它的名字:
var windowWidth = $(window).width();
结果将是窗口的宽度。 但是当事情发生时我需要变量来改变,例如当我调整窗口大小时:
$(window).resize(function(){
var windowWidth = $(window).width();
});
如何推断此变量以覆盖之前的变量? 我可以在.resize(function()中放入我需要的函数之前覆盖变量;但是这样我的代码混乱,我需要一个变量来在resize函数之外的其他函数中使用它,例如.click(功能)
$(document).ready(function(){
var w = $(window).width();
$(window).resize(function(){
var w = $(window).width();
//click function goes here.
});
});
如果我想要上面的函数将成为一个全新的变量?没有在其中添加新功能?
答案 0 :(得分:3)
你的代码的问题是你有两次var。每次使用var时都会创建一个新变量。所以就这样留下第二个:
$(document).ready(function(){
var w = $(window).width();
$(window).resize(function(){
w = $(window).width();
//click function goes here.
});
});
答案 1 :(得分:0)
我为我的项目做了类似的事情:
var winWidth, winHeight;
function setWinSize(){
winWidth = $(window).width();
winHeight = $(window).height();
//note I'm not using the var suffix again
}
//then we set the new values on document ready and on window resize
$(document).ready(function(){
setWinSize();
})
$(window).resize(function(){
setWinSize();
})
function myCustomFunction(){
//I can now use my vars here
}