Jquery 访问函数逻辑之外的变量 $(窗口).on(“加载调整大小”,函数(){ 如果($(窗口).width()
我想在这个函数之外访问这两个变量(menuHeight,contactHeight),以便在其他地方使用。我正在测量一个模型的顶部高度,但我不希望它在调整大小时有响应,而不仅仅是加载(在这种情况下,似乎一个简单的If/Else就可以了。)我可能需要一些关于范围的知识。谢谢 您需要在以下操作之前定义它们:Jquery 访问函数逻辑之外的变量 $(窗口).on(“加载调整大小”,函数(){ 如果($(窗口).width(),jquery,variables,scope,global,Jquery,Variables,Scope,Global,我想在这个函数之外访问这两个变量(menuHeight,contactHeight),以便在其他地方使用。我正在测量一个模型的顶部高度,但我不希望它在调整大小时有响应,而不仅仅是加载(在这种情况下,似乎一个简单的If/Else就可以了。)我可能需要一些关于范围的知识。谢谢 您需要在以下操作之前定义它们: $(window).on("load resize", function () { if ($(window).width() < 768) { me
$(window).on("load resize", function () {
if ($(window).width() < 768) {
menuHeight = '0px';
contactHeight = '100%';
} else {
menuHeight = ($('#desktop-menu').height() + 'px').toString();
contactHeight = ($('.get-in-touch-home').outerHeight() + 'px').toString();
}
});
您需要在以下操作之前定义它们:
$(window).on("load resize", function () {
if ($(window).width() < 768) {
menuHeight = '0px';
contactHeight = '100%';
} else {
menuHeight = ($('#desktop-menu').height() + 'px').toString();
contactHeight = ($('.get-in-touch-home').outerHeight() + 'px').toString();
}
});
您可以在函数外部定义它们。另外,由于
load
在页面加载过程中发生得比较晚,因此您需要主动初始化它们,然后更新它们以响应load
和resize
。这表明您需要一个可重用的函数:
var menuHeight = '';
var contactHeight = '';
$(window).on("load resize", function () {
if ($(window).width() < 768) {
menuHeight = '0px';
contactHeight = '100%';
} else {
menuHeight = ($('#desktop-menu').height() + 'px').toString();
contactHeight = ($('.get-in-touch-home').outerHeight() + 'px').toString();
}
});
window.menuHeight = '';
window.contactHeight = '';
我不是你的粉丝。如果需要调用函数,只需调用它。您可以在函数外部定义它们。另外,由于
load
在页面加载过程中发生得比较晚,因此您需要主动初始化它们,然后更新它们以响应load
和resize
。这表明您需要一个可重用的函数:
var menuHeight = '';
var contactHeight = '';
$(window).on("load resize", function () {
if ($(window).width() < 768) {
menuHeight = '0px';
contactHeight = '100%';
} else {
menuHeight = ($('#desktop-menu').height() + 'px').toString();
contactHeight = ($('.get-in-touch-home').outerHeight() + 'px').toString();
}
});
window.menuHeight = '';
window.contactHeight = '';
我不是你的粉丝。如果你需要调用一个函数,只需调用它。如果你还没有在某个地方声明
menuHeight
和contactHeight
,那么这个代码就是牺牲品(这是我贫血小博客上的一篇文章)。请务必声明您的变量。:-)如果你没有在某个地方声明menuHeight
和contactHeight
,那么这个代码就是我贫血小博客上的一篇文章。请务必声明您的变量。:-)我将继续尝试这些。非常感谢。因此,我希望能够在下面的代码中使用这个“更新”变量,但它似乎只能得到初始值<代码>$(“#contact-modal-1”).animatedModal({modalTarget:'contact-modal',animatedIn:'slideInUp',animatedOut:'slideOutDown',overflow:'scroll',position:'fixed',top:menuHeight,animationDuration:'.7s',color:'代码>对格式错误表示歉意。@ChrisJohnson请从我的代码中尝试getHeight()函数。@ChrisJohnson:它不会只获取初始值,除非您在获取初始值时这样做。如果您需要在值更改时更新该模式,则需要在更新值后从更改处理程序调用某些内容。谢谢大家,我们将尝试这些!我将继续尝试这些。非常感谢。因此,我希望能够在下面的代码中使用这个“更新”变量,但它似乎只能得到初始值<代码>$(“#contact-modal-1”).animatedModal({modalTarget:'contact-modal',animatedIn:'slideInUp',animatedOut:'slideOutDown',overflow:'scroll',position:'fixed',top:menuHeight,animationDuration:'.7s',color:'代码>对格式错误表示歉意。@ChrisJohnson请从我的代码中尝试getHeight()函数。@ChrisJohnson:它不会只获取初始值,除非您在获取初始值时这样做。如果您需要在值更改时更新该模式,则需要在更新值后从更改处理程序调用某些内容。谢谢大家,我们将尝试这些!不确定是否可以使用“窗口”,因为这是一个节点项目,至少我在这里读到了;)@克里斯·约翰逊:你问题中的代码显然是基于浏览器的,并且已经在使用窗口
:-)您可能正在使用节点编写其中的服务器部分,但此部分基于浏览器。但不要使用window.menuHeight等;这样做需要它们是全局变量,这是一件坏事™.@T.J.Crowder他们是邪恶的:-)在万不得已的情况下使用全局变量,但大多数时候你都不需要它。不确定我是否可以使用“窗口”,因为这是一个节点项目,至少我在这里读到了;)@克里斯·约翰逊:你问题中的代码显然是基于浏览器的,并且已经在使用窗口
:-)您可能正在使用节点编写其中的服务器部分,但此部分基于浏览器。但不要使用window.menuHeight等;这样做需要它们是全局变量,这是一件坏事™.@T.J.Crowder他们是邪恶的:-)在万不得已的情况下使用全局变量,但大多数时候你并不需要它。
$("selector").on("event", function() {
// ...
}).triger("event");