jquery 变量未更新超出调整大小
jquery variable not updating out of resize
考虑以下代码段:-
jQuery(document).ready(function($){
var window_width=$(window).width();
function myresize(){
window_width=$(window).width();
console.log('============window width='+window_width+' =========================');
}
$(window).resize(myresize);
if (window_width<options.hide_width){
console.log('============window width='+window_width+' =========================');
}
else
{
console.log('============window width='+window_width+' =========================');
});`
当我调整大小时,window_width 的正确值会被记录下来。但是,下面的条件代码仍然表现得好像我没有调整大小一样。如果我随后进行页面刷新,则正确的条件运行,并记录新的 window 大小。
所以我的问题是,如果 window_width 的值正确 ,为什么正确的条件部分在调整大小后不运行?
我对 jquery 还是很陌生,所以如果它有些愚蠢,请原谅我的无知,但我在这里兜圈子,无法 google 任何类型的答案。关于这个的许多类似问题也让我无处可去。
谢谢。
我想我明白你的意思了。
if-else 条件将 运行 只有在事件侦听器绑定到 window 后文档准备好时才会出现一次:
$(window).resize(myresize);
如果您想在 window 调整大小时使用 if-else 子句 运行,请将整个 if-else 放入 myresize 函数中。
$(document).ready(function () {
var window_width = $(window).width();
function myresize() {
console.log(window_width);
window_width = $(window).width();
console.log('============window width=' + window_width + ' =========================');
if (window_width < options.hide_width) {
console.log('============window width=' + window_width + ' =========================');
} else {
console.log('============window width=' + window_width + ' =========================');
}
}
$(window).resize(myresize);
});
考虑以下代码段:-
jQuery(document).ready(function($){
var window_width=$(window).width();
function myresize(){
window_width=$(window).width();
console.log('============window width='+window_width+' =========================');
}
$(window).resize(myresize);
if (window_width<options.hide_width){
console.log('============window width='+window_width+' =========================');
}
else
{
console.log('============window width='+window_width+' =========================');
});`
当我调整大小时,window_width 的正确值会被记录下来。但是,下面的条件代码仍然表现得好像我没有调整大小一样。如果我随后进行页面刷新,则正确的条件运行,并记录新的 window 大小。
所以我的问题是,如果 window_width 的值正确 ,为什么正确的条件部分在调整大小后不运行?
我对 jquery 还是很陌生,所以如果它有些愚蠢,请原谅我的无知,但我在这里兜圈子,无法 google 任何类型的答案。关于这个的许多类似问题也让我无处可去。
谢谢。
我想我明白你的意思了。
if-else 条件将 运行 只有在事件侦听器绑定到 window 后文档准备好时才会出现一次: $(window).resize(myresize);
如果您想在 window 调整大小时使用 if-else 子句 运行,请将整个 if-else 放入 myresize 函数中。
$(document).ready(function () {
var window_width = $(window).width();
function myresize() {
console.log(window_width);
window_width = $(window).width();
console.log('============window width=' + window_width + ' =========================');
if (window_width < options.hide_width) {
console.log('============window width=' + window_width + ' =========================');
} else {
console.log('============window width=' + window_width + ' =========================');
}
}
$(window).resize(myresize);
});